tags:

views:

47

answers:

2

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?

+3  A: 

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.

Ani
doh. Thanks....
oillio
+2  A: 

use A<,> not A<>

mumtaz