我有一个项目,我需要使用一些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呢?
谢谢