从c++向CLI传递Struct

本文关键字:传递 Struct CLI c++ | 更新日期: 2023-09-27 17:51:14

下面的结构体从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;     
};

我如何修改它,使它只传递结构体SystemInfo的一个副本?而不是一个大小为1的数组??

从c++向CLI传递Struct

像这样声明:

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