包装模板类c ++ / cli

时间:2013-12-11 11:11:55

标签: c++-cli

我正在尝试基于.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才能使用?

0 个答案:

没有答案