使用互操作将Hashtable传递给非托管代码

时间:2010-11-08 13:02:41

标签: c# .net interop

如何使用interop将.net中的HashTable传递给c ++?

我知道如何传递原始类型,但需要知道如何传递其他类型。

2 个答案:

答案 0 :(得分:4)

您无法传递整个对象以在C ++中用作哈希表。 P / invoke将.NET类型转换为C ++可以理解的类型。例如,String转换为LPWSTRwchar_t *)。但是,它无法以这种方式转换为HashSet之类的内容。

答案 1 :(得分:0)

你不能。

没有可以传递Hashtable的C ++参数类型(void*除外,这对你没什么用处)

相反,您需要创建一个C ++ struct来保存hashtable中的信息,将struct移植到C#,然后封送struct