Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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

like image 808
Jox Avatar asked Jul 24 '26 20:07

Jox


1 Answers

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.

like image 63
Cédric Guillemette Avatar answered Jul 26 '26 10:07

Cédric Guillemette



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!