Embedded Mono: создание / маршалинг структуры C # в C ++ - PullRequest
3 голосов
/ 04 декабря 2011

Я работаю над приложением, которое встраивает Mono, и у меня есть простая структура C #, которая является одним из параметров одной из моих функций.

Как мне создать и передать эту структуру из C ++ в C #?

Если у меня есть структура C # примерно так:

 struct CSStruct
 {
     int mInt;
     float mFloat;
 }

Могу ли я создать строгую версию C ++ и передать ее в моно, как это?

struct CStruct
{
    int mInt;
    float mFloat;
}

// ...
CStruct var = { 10, 30.0f };
void* args[1] = { &var };
mono_runtime_invoke(method, NULL, args, NULL);

1 Ответ

2 голосов
/ 04 декабря 2011

Да, так оно и должно работать: типы значений передаются в массиве аргументов в mono_runtime_invoke () путем получения указателя на данные типа значения.

...