Using a C++ Static Library in C# code??
-
Hi I'm currently developing a windows application in c#. I have a set of static libraries written in c++ which I used in a VC++ application. The libraries have numerous classes which would be useful. So I'd like to instantiate object of these classes in my c# code. The question is should I discard the libraries and re-write the code or can I make this into managed code or can I leave it and use it as is. Any suggestions would be great! Cheers
-
Hi I'm currently developing a windows application in c#. I have a set of static libraries written in c++ which I used in a VC++ application. The libraries have numerous classes which would be useful. So I'd like to instantiate object of these classes in my c# code. The question is should I discard the libraries and re-write the code or can I make this into managed code or can I leave it and use it as is. Any suggestions would be great! Cheers
From managed code in C# you can only use PInvoke to call 'C' functions exported from DLLs. If you have exported C++ classes you cannot interact with them at all using PInvoke. Using VC++/CLI in a mixed mode project you can access both the managed world and the native world. If you use C++/CLI to wrap the old classes in managed classes you will be able to reuse the code as is and expose it to C# code through the new managed class or classes. There are many articles here and on MSDN about C++/CLI and there is a forum for it on CodeProject as well.
led mike