如何将c#类对象传递给c++非托管代码
本文关键字:c++ 非托管代码 对象 | 更新日期: 2023-09-27 18:16:34
我有一个c#代码中的对象定义如下:
class CSObject
{
int length;
int width;
IList<SubItem> Items;
bool OnSale;
ItemType type; //ItemType is an enum
}
Class SubItem
{
object AssociatedValue;
List< Range > Highlight; // Range is another class represents a pair (0, 4)
string Name;
IList<SubItem> Items;
string Title;
}
现在我们如何在c++代码中把这个传递给一个方法?
- 我需要在c++端创建类似的类并发送此数据并在那里进行反序列化吗?
- 我不需要修改c++端对象,只需要遍历它。
我不知道这对你有帮助,但是我以前用过类似的东西
public struct AccountInfo
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
public byte[] ExpirationDate;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
public string CustomerId;
}