Я работаю над проектом, который включает DLL, написанную на C++, и код C#. Допустим, в этой DLL есть функция:
Код: Выделить всё
MyStruct* GetPointer(); // returns pointer to MyStruct structure
Структура MyStruct выглядит следующим образом:
Код: Выделить всё
struct MyStruct
{
OtherStruct1 *data1;
OtherStruct2 *data2;
};
Структуры OtherStruct1 и OtherStruct2 выглядят следующим образом:
Код: Выделить всё
struct OtherStruct1
{
public:
double x;
char y;
};
struct OtherStruct2
{
public:
float a;
float b;
float c;
float d;
};
Мой вопрос: как лучше всего обработать все эти указатели в коде C#? Под «обработкой» я подразумеваю операции чтения и записи в память. Структуры в C# не могут просто содержать переменные-указатели. Что я должен сделать? Какой самый элегантный способ?
Подробнее здесь:
https://stackoverflow.com/questions/404 ... in-c-sharp