我有一个程序集文件,它将enum
定义如下:
public enum DataType{
@byte,
@short,
@int,
@long,
...
}
当我通过调用typeof(DataType).GetEnumNames()
或Enum.GetNames(typeof(DataType))
方法获得其名称时,我将获得以下字符串字面值:["byte", "short", "int", "long", ...]
。
我怎样才能得到元素的确切名称呢?
命名枚举元素有什么错误吗?
您实际上得到了枚举中这些字段的正确名称。如MSDN所述:
关键字是预定义的、保留的标识符,对编译器有特殊的含义。除非它们包含@作为前缀,否则它们不能在程序中用作标识符。例如,@if是一个有效的标识符,但它不是,因为它是一个关键字。