Jox
Jox

Reputation: 7172

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

Upvotes: 3

Views: 4866

Answers (1)

Cédric Guillemette
Cédric Guillemette

Reputation: 2408

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.

Upvotes: 6

Related Questions