Мне приходилось проделывать некоторые странные вещи с gcroot, но я получаю следующую ошибку в строке динамического приведения: «не могу использовать» dynamic_cast 'для преобразования из' gcroot 'в' IMyInterface ^ '. В C # вы можете легко преобразовать универсальный объект в любой интерфейс. Вы можете получить ошибку выполнения, если объект не реализует интерфейс, но будет компилироваться.
gcroot<Object^> m_pDataObject;
IMyInterface obj = dynamic_cast<IMyInterface^>(m_pDataObject);