c# - 如何在 C# 中编码列表

标签 c# c++ interop

我必须将一个列表从 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/

相关文章:

c# - 如何在XP或7中使用C#连接默认拨号?

c++ - 在 Eclipse 中,如何定义 C++ 的标准路径包含 header ?

视频游戏中纹理流的 C++ 内存管理

.net - 有人可以解释在 .Net 中使用主互操作程序集的好处吗?

c# - Linq to Sql 设计和 MVP

java - 嵌套类在C#中不能调用父类,但在java中可以

c++ - 具有 pop_back 函数的类模板 vector 无法按预期工作

Excel Ribbon XML如何做一个类似Excel "Pivot Table"控件的控件

c# - 在没有类型库的情况下使用 C# 中的 COM dll

c# - 如何动态加载包含非托管代码的原始程序集?(绕过 'Unverifiable code failed policy check' 异常)