C#和非托管C类型之间的映射

时间:2011-12-21 20:42:01

标签: c++ pinvoke unmanaged managed type-conversion

我有一个项目,我需要使用一些C#代码并将其导出为非托管C(在C dll中) 我设法做到了它工作正常(我可以在客户端C控制台应用程序中声明DLL函数并使用这些函数) 我遇到的问题是,一些C#代码必须作为参数接收,或者返回NET Decimal,Guid和DateTime。

将它们转换为在C中使用的最佳方法是什么?他们如何在非托管C ++中“看到”?

此外,C#方法中的一些参数是可以为空的类型(DateTime?,int?,bool?) 如何最好地处理它们?一个建议为VARIANT。有什么想法或建议吗?

我应该使用int * for int,BYTE * for bool等,并且当我想传递null值时设置为null?

但是可以为空的DateTime,Decimal和Guid呢?

谢谢

0 个答案:

没有答案