У меня есть C ++ DLL с API-интерфейсом SetTrace () для отчетов о ходе выполнения, для которого требуется указатель на экземпляр, реализующий IReporter.
Обновление исходного кода C ++ не вариант.
Оба определены в C ++ как:
void __stdcall SetTrace(int level, IReporter *reporter);
class IReporter
{
public:
virtual void SetProgress(int iProgress) = 0;
virtual void SetMessage(const char* pszMsg) = 0;
};
Мне нужно создать оболочку C #, которая использует DLL SetTrace ().
Не могли бы вы дать мне идею маршалинга таких методов из C # в C ++?
Хитрость заключается в виртуальных методах и управлении v-таблицами ...
Заранее спасибо!