【问题标题】:Initialize unmanage struct from managed code (C#)从托管代码初始化 unmanage 结构 (C#)
【发布时间】:2010-02-22 07:00:51
【问题描述】:

我有一个 C++ 结构,我想在 C# 代码中反映它(遍历所有字段并以特定顺序启动),我想将结构内存作为二进制数据转储到文件中。 如果我声明 int dummy_4[10] 编译器会引发无法混合托管和非托管类型的错误,我在结构中的数组 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);
    }

};

【问题讨论】:

    标签: c# struct unmanaged managed


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-06
      • 2014-01-28
      • 2012-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多