[英]IEnumerable return type C# C++
我有C#接口,帶有這樣的方法簽名:
IEnumerable<string> Myfun();
在C ++ / CLR中,接收返回的字符串的數據類型是什么?
我努力了
IEnumerable<std::string> ^abc = myObject.Myfun();
我收到此錯誤:錯誤C3225:“ T”的泛型類型參數不能為“ std :: string”,它必須是值類型或引用類型的句柄
用這個:
IEnumerable<String^>^ abc = myObject.Myfun();
您需要使用System::String^
作為您的類型,而不是C ++的std::string
。
如果您需要使用std::string
傳遞給其他C ++代碼,則需要使用
std::string myCPPstring = marshal_as<std::string>(myDotNetString);
自接觸C ++ / CLI以來已有很長時間了,但是我認為它將是:
IEnumerable<String^> ^abc = myObject.Myfun();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.