Инициализация неуправляемой структуры из управляемого кода (C #) - PullRequest
0 голосов
/ 22 февраля 2010

У меня есть структура в C ++, которую я хочу отразить в коде C # (сгладить все поля и инициировать в определенном порядке), что я хочу вывести структуру памяти в виде двоичных данных в файл. У меня проблема с объявлением массива в sturct, если я объявляю int dummy_4 [10] ошибку поднятия компилятором, которая не может смешивать управляемые и неуправляемые типы. если я делаю массив как массив и т.д ... и инициализирую массив в конструкторе, массив не находится после dummy_3 в памяти, и я не могу вывести его в файл.

Нужны идеи, как ее решить. Спасибо

public ref struct Dummy_t
{
    int dummy_1;
    int dummy_2;
    int dummy_3;
//int dummy_4[2];  X compile error mix managed and unmanaged types
    array<int>^ dummy_4; 
    int dummy_5;
    Dummy_t()
    {
 dummy_4 = gcnew array<uint8_t>(2);
    }

};

1 Ответ

0 голосов
/ 22 февраля 2010

Вы можете написать собственный метод дампа в Dummy_t, который заботится о dummy_4 и выводит значения из указанного массива.

...