簡體   English   中英

IEnumerable返回類型C#C ++

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM