Using .NET class from native C++ using C++/CLI as a 'middleware'

纵饮孤独 提交于 2019-12-07 18:08:56

问题


I have to use a class/assembly made in C# .NET from native C++ application. I suppose I need to make a wrapper class in C++/CLI, that would expose native methods in header files, but use .NET class as needed. Thing that's unclear to me is how to convert data types from .NET to standard C++ types.

Does anybody have some sample code to learn from?

Only text I have found on this is: http://msdn.microsoft.com/en-us/magazine/cc300632.aspx

But text is very old (using Managed C++, not C++/CLI), and lot of things remains unclear


回答1:


Yes you need to build a wrapper with C++/CLI around your managed assembly.

For mixing native and managed types you may want to check this article for sample codes.

Primitive types has int, float, byte are converted for you. But other types has String must be done yourself. For example, if you have a native pointer on a char*, then your C++/CLI class will have to convert it to a String in order to be passed to your Managed C# assembly.



来源:https://stackoverflow.com/questions/380559/using-net-class-from-native-c-using-c-cli-as-a-middleware

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!