gpt4 book ai didi

c# - 以 'typesafe' 方式将数组从 c++/cli 传递到 C#

转载 作者:行者123 更新时间:2023-11-28 08:12:00 26 4
gpt4 key购买 nike

以类型安全的方式将对象列表/vector/数组从 c++/cli 返回到 c# 的最简单方法是什么?

//C++/CLI project 1
public ref class MyClass
{
}

public ref class Factory
{
array<MyClass^> getObjects() {...}
}

//C# project 2
Factory f = new Factory();
System.Array a = f.getObjects(); // not typesafe! I'd like to get an array/list/vector of MyClass elements

我试过返回一个

List<MyClass^> 

从 C++ 开始阅读

IList<MyClass^> 

来自 C#,它没有编译...

谢谢,克里斯

最佳答案

C++/CLI 中的数组是“托管指针”(称为引用),因此写成array<Type>^。 .您可以通过 gcnew array<Type, dimension>(count) 初始化它等于 C# new Type[count] , 当维度为 1 时。

所以在你的情况下,它可能看起来像这样:

array<MyClass^>^ getObjects() { 
return gcnew array<MyClass^,1>(number) ;
}

关于c# - 以 'typesafe' 方式将数组从 c++/cli 传递到 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8808564/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com