Accessing C++ code(unmanaged & if possible, managed as well) in C#

I want to write a managed C++ class that I can then access in C# code.  The C++ class will contain unmanaged code as well.  The C++ class has to keep things in memory as well.  It's a class that deals with image manipulation, so I gotta keep a USHORT* in memory (it has to be this type or some other type that easily converts into USHORT* because we use 3rd party code for image enhancement and it requires USHORT*). So, it has to be something that can be long-lived.  When I use a function that causes the buffer to change and then use another function to access that buffer later on, i want to access the newly changed one, not a new instance.  I've tried creating an MFC DLL and just started trying to create a C++ Class library instead.  I can't get anything to work.  Can anybody give me any pointers on how to deal with this? I"ve never done cross-platform stuff before AND its also my first time working in C#.  Any help would be appreciated.  Any websites or examples you could point me towards would also be appreciated.
raw_enhaAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
AlexFMConnect With a Mentor Commented:
You need to create C++/CLI Class Library. Class exported from this library has pure .NET interface and can be accessed from any .NET language. Internally clas can allocate unmanaged resources.
C++/CLI allows to write mixed managed/unmanaged code, this technology sometimes called IJW (It Just Work). To use unmanaged code in C++/CLI project, you only need to include required h-files, add .lib files if necessary, and call unmanaged code directly.
I don't suggest you to use PInvoke because C++/CLI is much beter for interoperability.
0
 
AlexNekCommented:
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.