如果Class具有泛型参数,则使用typeof获取类类型

时间:2013-08-28 00:05:24

标签: c# generics reflection

我有一个班级:

public class test<T> {}

我想得到班级的类型。我有通用类型。我需要使用typeof。

这会有用吗?

Type genericType = typeof(System.Int32);
typeof(test<>).MakeGenericType(new Type[] { genericType })

提前感谢您的帮助

1 个答案:

答案 0 :(得分:1)

  

这会有用吗?

是(假设您在行的末尾添加了正确的分号,并将结果值分配给System.Type变量)。

例如,给定:

Type genericType = typeof(System.Int32);
Type fullType = typeof(test<>).MakeGenericType(new Type[] { genericType });
Console.WriteLine(fullType);

这将打印:

MyNamespace.test`1[System.Int32]

完全限定类型的正确类型名称。