我必须将一个列表从 C# 发送到 C++。C# 列表是 List<string>MyList
并且 C++ 代码将其接受为 list<wstring>cppList
.如何为此使用 marshalas。
谢谢
最佳答案
最好不要在 native 代码和托管代码之间使用复杂类型编码(marshal)处理。
在 List
的情况下,这些类型完全不同,因为它们对每个项目都有不同的内存布局。
所以最好的方法是在接受字符串数组(char*)的 native dll 中编写实用程序函数,然后手动构建 native List
并最终调用所需的方法。您可以轻松创建该实用函数的包装器。
关于c# - 如何在 C# 中编码列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6532923/