基元类型在c ++和CLI之间传递模板参数

时间:2011-01-19 12:59:15

标签: templates c++-cli

我有一个c ++模板类:

template<class T>
class A {
    void test (T temp) { }
};

但我需要将它包装在CLI中,以便可以在c#中使用它。

示例:

CLI:

template<class T>
ref class AWrap {
     private:
        A* a;
     public:
        void test (T temp) { 
           a->test<T>(temp);
        }
};

C#:

Awrap blah = new AWrap();
blah<int>(3);

如果我创建一个模板化的ref class,它调用模板化的c ++方法,原始类型是否会在编译时生成正确的c ++模板化代码? - &gt;

1 个答案:

答案 0 :(得分:6)

您在C#中使用的是泛型,而不是模板。没有办法专门化C#中的C ++ / CLI模板。