从托管代码初始化unmanage结构(C#)

时间:2010-02-22 07:00:51

标签: c# struct unmanaged managed

我有一个C ++结构,我希望用C#代码(goover all field并以特定顺序启动)反映我想将结构内存作为二进制数据转储到文件中。 如果我声明int dummy_4 [10]编译器引发错误,无法混合托管和安培,我在sturct中的数组decleration有问题。非托管类型。如果我作为数组等延迟...并在构造函数中初始化数组,则数组不会在内存中的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 :(得分:0)

您可以在Dummy_t中编写自定义转储方法,该方法负责dummy_4,并从指向的数组中输出值。