C # вызов метода из класса C ++ - PullRequest
2 голосов
/ 18 августа 2011

Я пытаюсь интегрироваться с API на базе Windows, используя c-sharp, и я столкнулся с этой проблемой.

API посылает мне указатель на структуру, которая содержит несколько виртуальных методов

struct CApiInterface
{
   virtual int __stdcall Version(void);
   ...
}

Мой вопрос: как я могу вызвать методы из этого в C #?Я хотел бы сделать что-то вроде:

CApiInterface _api;

public void Start(CApiInterface* api)
{
_api = api;
}

...

public void SomeOtherMethod()
{
_api.version();
}

Я бы хотел остаться вне CLI / C ++, если это вообще возможно, если это вообще возможно для начала.

1 Ответ

2 голосов
/ 18 августа 2011

Проверьте на этот вопрос , чтобы получить пример того, кто сделал то же самое. Кажется, что он вращается вокруг использования делегатов, помеченных UmanagedFunctionPointerAttribute.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...