将Struct从C ++传递给CLI

时间:2014-03-20 15:52:22

标签: c# c++ .net

以下结构从C ++传递到CLI(由C#项目使用)。 它传递一个int和一个结构数组:

public value struct CallbackInfo
{
public:
    int callbackType;
    [MarshalAsAttribute(System::Runtime::InteropServices::UnmanagedType::ByValArray, ArraySubType = System::Runtime::InteropServices::UnmanagedType::LPStruct, SizeConst=1)] array<SystemInfo>^ SystemInfo;     
};

如何修改它以便它只传递struct SystemInfo的单个副本?而不是一个大小为1的数组?

1 个答案:

答案 0 :(得分:1)

声明如下:

public value struct CallbackInfo
{
public:
    int callbackType;
    SystemInfo systemInfo;     
};