我几乎被.NET世界和原生世界中不同类型的方言相匹配。比如MFC CList和其他东西。
我非常希望如此:
非常感谢!!
答案 0 :(得分:2)
有关默认类型转换的信息,请尝试this chart输出。
有关Marhsaling的一般信息,请查看this page。
答案 1 :(得分:2)
UnmanagedType
枚举提供了您想要的完整的目标类型列表。它涵盖了C atleast中可用的所有核心类型。对于C中的用户定义类型,您需要检查它们是否是标准类型的typedef,或者在结构的情况下,您需要在C#中重写结构并手动编组它的每个字段。
这里不涉及C ++类(如MFC)。 P / Invoke不支持__thiscall
调用约定(即类方法)。将C ++代码导入C#的常见方案是使用C ++ / CLI为类编写COM包装器,或者从C ++编写基于C的包装器(标记代码extern“C”),然后在包装器上使用P / Invoke