如何获得具有多个类型参数的泛型类的类型? - C#

时间:2010-10-19 02:41:27

标签: c# generics

编译:

public class A<T> {
    public void test() {
        var a = typeof (A<>);
    }
}

这不是:

public class A<T,S> {
    public void test() {
        var a = typeof (A<>);
    }
}

我收到错误:使用泛型类型'A'需要2个类型参数

如何使用两个参数获取对此泛型类型的引用?

2 个答案:

答案 0 :(得分:25)

您只需要逗号:

var a = typeof (A<,>);

当然注意,这将返回代表未绑定泛型类型System.Type的{​​{1}}。由于代码属于属于该类型的方法,因此您可能只是在寻找A,具体取决于您的要求。

答案 1 :(得分:4)

使用A&lt;,&gt;不是A&lt;&gt;