【问题标题】:Passing Hashtable to Unmanaged code using interop使用互操作将 Hashtable 传递给非托管代码
【发布时间】:2010-11-08 13:02:40
【问题描述】:

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

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

【问题讨论】:

    标签: c# .net interop


    【解决方案1】:

    您不能传递整个对象以用作 C++ 中的哈希表。 P/invoke 将 .NET 类型转换为 C++ 可以理解的类型。例如,String 转换为 LPWSTR (wchar_t *)。但是它不能以这种方式转换像 HashSet 这样的东西。

    【讨论】:

      【解决方案2】:

      你不能。

      没有可以向其传递 Hashtable 的 C++ 参数类型(void* 除外,这对你没有任何好处)

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-02-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多