gpt4 book ai didi

c++ - native /CLI C++ : How can I convert from vector to List

转载 作者:搜寻专家 更新时间:2023-10-31 01:11:58 25 4
gpt4 key购买 nike

我正在用 C++ 编写 native /CLI DLL。我最终会从 C# 代码(我更熟悉它)调用 DLL,但我试图用 CLI 包装器包装我的 native C++ 类。

所以我的问题是,将 std::vector 转换为 List 类的最佳方法是什么?

这些类大多很简单,最复杂的看起来像这样:

class SecurityPrincipal
{
public:
wstring distinguishedName;
SECURITYPRINCIPAL_NODE_TYPE NodeType;
vector<LDAPAttribute> Attributes;
vector<SecurityPrincipal> Nodes;
}

老实说,我什至没能得到 vector<wstring>进入 List<String> .

如有任何帮助,我们将不胜感激!

最佳答案

我不知道 C++ 中包含允许该级别转换的任何标准算法/函数。但是 for 循环不能正常工作有什么原因吗?以下为脑补。

typedef System::Collections::Generic::List<class1_cli> MyList;
typedef std::vector<class1_native> MyVector;

MyList^ NativeToManaged(MyVector& v) {
MyList^ result = gcnew MyList();
if (result != nullptr) {
for (MyVector::iterator i = v.begin(); i != v.end(); ++i) {
class1_native& nativeValue = *i;
result.Add(gcnew class1_cli(nativeValue));
}
}
return result;
}

关于c++ - native /CLI C++ : How can I convert from vector<class1_native> to List<class1_cli>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14178873/

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