You cannot do it in any simple way. Typically, for interfacing between .NET assemblies and native DLLs, only primitive types, structures, as well as some select classes are used. Such classes, such as
System.String
, may have some predefined
marshaling to a number of unmanaged types. The interfaced method itself should be a static method of some .NET class, which is equivalent to a "regular" (not object-oriented) C++ methods.
At the same time, you can use some managed classes, if they are the parameters of methods. For some, default marshaling is defined, for others, you can create custom marshaling. I would call it a pretty advanced topic. Please start here:
http://msdn.microsoft.com/en-us/library/d3cxf9f0%28v=vs.90%29.aspx[
^].
—SA