Мне нужно реализовать интерфейс С++ в управляемом С++:
class MyInterface
{
virtual int Get() const = 0;
};
Как я могу реализовать этот интерфейс с помощью метода «const» в С++, управляемого с возможностью импорта реализации из библиотеки классов С# (для модульного тестирования?
На данный момент у меня есть реализация PIMPL для управляемых, которая реализует необработанные методы (не интерфейс) с той же сигнатурой, но без «константы». и в моей высокоуровневой реализации я использую const_cast. Мне не нравится этот способ, и он даже не работает:
class MyImplementation: public MyInterface
{
public:
/*virtual*/ int Get() const
{
return const_cast<??>(??_impl).call();
}
private:
msclr::gcroot<MyImplementationImpl> _impl;
};
?
... - person Matthew Watson   schedule 04.11.2013