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 type with two arguments?
All you need is a comma:
Note of course that this will return a
System.Typethat represents the unbound generic typeA. Since the code is in a method that belongs to the type, you might just be looking fortypeof (A<T, S>), depending on your requirements.