Один простой способ вызвать C ++ - создать сборку-обертку в C ++ / CLI. В C ++ / CLI вы можете обращаться к неуправляемому коду, как если бы вы писали собственный код, но вы можете вызывать C ++ / CLI-код из C #, как если бы он был написан на C #. Язык был в основном разработан для взаимодействия с существующими библиотеками как его «приложение-убийца».
Например - скомпилируйте это с ключом / clr
#include "NativeType.h"
public ref class ManagedType
{
NativeType* NativePtr;
public:
ManagedType() : NativePtr(new NativeType()) {}
~ManagedType() { delete NativePtr; }
void ManagedMethod()
{ NativePtr->NativeMethod(); }
};
Затем в C # добавьте ссылку на вашу сборку ManagedType и используйте ее следующим образом:
ManagedType mt = new ManagedType();
mt.ManagedMethod();
Проверьте этот блог для более объясненного примера.