qqq*_*qqq 1 c# ienumerable c++-cli return-type
我有一个带有如下方法签名的 C# 接口:
IEnumerable<string> Myfun();
Run Code Online (Sandbox Code Playgroud)
在 C++/CLR 中,接收返回字符串的数据类型是什么?
我努力了
IEnumerable<std::string> ^abc = myObject.Myfun();
Run Code Online (Sandbox Code Playgroud)
我收到此错误:错误 C3225:“T”的泛型类型参数不能是“std::string”,它必须是值类型或引用类型的句柄
用这个:
IEnumerable<String^>^ abc = myObject.Myfun();
Run Code Online (Sandbox Code Playgroud)
您需要使用System::String^作为您的类型,而不是 C++ 的std::string。
如果您需要传递std::string给其他 C++ 代码,则需要使用
std::string myCPPstring = marshal_as<std::string>(myDotNetString);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
595 次 |
| 最近记录: |