2014-10-20 135 views

回答

2
Type unparameterizedFoo = parameterizedFoo.GetGenericTypeDefinition(); 
+2

注意'GetGenericTypeDefinition'抛出非泛型类型,所以不同的地方以及你如何使用它,你可能想/需要检查'IsGenericType'第一。 – 2014-10-20 19:04:10

1

您正在寻找的GetGenericTypeDefinition方法。

Type parameterizedFoo = typeof(Foo<double>); 
Type unparameterizedFoo = parameterizedFoo.GetGenericTypeDefinition(); 
Console.WriteLine(unparameterizedFoo == typeof(Foo<>)); // True