views:

1626

answers:

1

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

+3  A: 

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.

Cedrik