This compiles:
public class A<T> {
public void test() {
var a = typeof (A<>);
}
}
This does not:
public class A<T,S> {
public void test() {
var a = typeof (A<>);
}
}
I get the error: Using the generic type 'A' requires 2 type arguments
How do I get a reference to the type of this generic t开发者_StackOverflow中文版ype with two arguments?
All you need is a comma:
var a = typeof (A<,>);
Note of course that this will return a System.Type
that represents the unbound generic type A
. Since the code is in a method that belongs to the type, you might just be looking for typeof (A<T, S>)
, depending on your requirements.
use A<,> not A<>
精彩评论