如何获取泛型类的名称?

3

考虑以下两个类:

class GenericClass<T> where T : class
{
}

class PlainClass
{
}

我希望能够仅获取GenericClass的名称,例如"GenericClass"。对于PlainClass,我可以使用nameof实现此目的,但是对于泛型类则不行:

var plainName = nameof(PlainClass);
var gemericName = nameof(GenericClass)//does not compile
var gemericName1 = typeof(GenericClass<>).Name; // "GenericClass`1"

1
这个类的名称确实是“GenericClass`1”。如果你不想要它,你需要切掉尾巴。 - Vlad
1个回答

3

虽然不是非常简单,但

nameof(GenericClass<object>)

评估为

"GenericClass"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接