如果我有这样的枚举:
public enum MyEnum
{
Element1 = 1,
Element2,
Element3,
Element4
}
如何在代码中将MyEnum
投射到String()
我知道我可以将任何Enum
值转换为像MyEnum.Element1.ToString()
那样的sting,但是我如何将Enum定义/名称转换为字符串?
我想做那样的事情:
MyEnum.ToString()
答案 0 :(得分:3)
根据您的使用情况,我认为您最好使用显示名称属性,例如示例here。枚举字符串表示通常不是您想要显示的内容,如果您希望更改字符串,则需要在各个位置更新代码。
答案 1 :(得分:1)
正如@shsmith所说,使用:
typeof(MyEnum).Name
但不像他说的那样,不要使用:
MyEnum.GetType().Name
由于MyEnum不是静态的,因此无法调用该方法
您可以在特定元素上使用GetType()
,如下所示:
MyEnum.Element1.GetType().Name //=MyEnum