如何使用反射
获取泛型类的名称例如
public class SomeGenericClass<T>
{
}
SomeGenericClass<int> test = new SomeGenericClass<int>();
test.GetType().Name
返回“SomeGenericClass'1”
如何在没有'1?
的情况下返回“SomeGenericClass”答案 0 :(得分:4)
'1是名称的一部分,因为,例如,List<T>
和List
(如果我创建了这样的类)是不同的类。
'1表示它有一个类型参数。如果您想知道该参数的类型,请使用test.GetType()。GetGenericArguments()[0];
答案 1 :(得分:1)
enum.GetName(test.GetType(), test).ToString()
答案 2 :(得分:0)
以下几点怎么样?
test.GetType().Name.Split('\'')[0]
它也适用于非泛型类。