我正在尝试基于.hpp文件(不生成.dll或.lib)在项目上创建c ++ cli / clr包装器。我的问题如下:
让我说我有:
class A
{
A();
void DoAStuff();
}
class B
{
B();
void DoBStuff();
}
class C
{
C();
void DoCStuff();
}
template <typename AorB>
class AB
{
AB();
AorB GetAB();
}
template <typename CType>
class CClass
{
CClass();
CType GetCClass();
}
在包装器项目中,我有2个枚举和一个带方法的类:
public enum class AorBEnum
{
A = 0,
B = 1
};
public enum class CEnum
{
C = 0
};
void UseCode(TypeForAB ab, TypeForC c)
{
unknowntype a;
unknowntype b;
switch(ab)
{
case AorBEnum::A_TYPE:
a = AB<A>();
case AorBEnum::B_TYPE:
a = AB<B>();
}
switch(c)
{
case CEnum::C_TYPE:
b = CClass(C);
}
unknowntype vala = a.GetAB();
unknowntype valb = b.GetCClass();
}
我要做的是使用给予UseCode的参数创建一些对象,然后使用这些对象中的方法。
想象一下,我有更多类和类似的枚举。
问题是:我可以使用什么而不是unknowntype才能使用?