如何确定使用反射基类的泛型参数

时间:2009-01-18 20:59:05

标签: c# generics reflection

我有以下结构

public class MyClass : MyBaseClass<System.Int32>
{
}

在静态方法中,如果没有实例化新的MyClass实例,我如何获得用于构建具体基类的泛型参数的类型?例如在上面的示例System.Int32

2 个答案:

答案 0 :(得分:5)

试试这个

public static Type GetBaseTypeGenericArgument(Type type) {
  return type.BaseType.GetGenericArguments()[0];
}

...
GetBaseTypeGenericArgument(typeof(MyClass));

答案 1 :(得分:0)

Type arg = typeof(MyClass).BaseType.GetGenericArguments()[0];