Мне нужно реализовать ac # GUI для моего неуправляемого кода.Итак, я разработал оболочку для работы с моим собственным кодом, но это не сработает.
У меня есть метод, который требует создания экземпляра для абстрактного класса, и я не уверен, как с этим обращатьсяit.
Сначала для своих классов C ++ я использовал абстрактный класс:
class Interface abstract
{
public: Interface (void);
public: ~Interface (void);
public: virtual double Get() = 0;
};
И я использовал ClassSpecific1 и ClassSpecific2 в зависимости от моего текущего приложения, и я унаследовал функциииз абстрактного класса для каждого.
class ClassSpecific1 : public Interface
{
public: ClassSpecific1 (void);
public: ~ClassSpecific1 (void);
private: double Get();//based on the abstract class
};
class ClassSpecific2 : public Interface
{
public: ClassSpecific2 (void);
public: ~ClassSpecific2 (void);
private: double Get();//based on the abstract class
};
Позже я использовал другой класс, он работает как общий класс и использует ClassSpecific1 или ClassSpecific2 с экземпляром абстрактного класса.
class ClassAPI
{
public: ClassLaserAPI(void);
public: ~ClassLaserAPI(void);
public: double Get(Interface *objToInterface);//This Get() calls the Get() in ClassSpecific1 or ClassSpecific2
};
До тех пор, пока здесь все не будет в порядке.Я все проверил и работает как положено.Моя большая проблема в том, что я не знаю, как сделать мой метод Get(Interface *objToInterface)
из ClassAPI в моей обертке.Нужно ли мне сначала создавать оболочку для моего абстрактного класса, чтобы можно было создать экземпляр **(Interface *objToInterface)**
на оболочке?
Это то, что у меня есть, надеюсь, кто-нибудь может мне помочьЯ теряюсь в том, как действовать.
namespace API
{
public __gc class APIManaged
{
public: APIManaged(void);
public: ~APIManaged(void);
/** Unmanaged pointer to ClassAPI
*
*/
private: ClassAPI __nogc* cAPI;
public: double Get(Interface __nogc* objInterface);
};