方法一:
通过反射,得到针对某一枚举类型的描述。
枚举的定义中加入描述
获得值
方法二:(自己没试过)
enum好像无法重写ToString(),但很多时候我们有想用自然语言来显示Enum的项,替代ToString的方法是使用Attribute描述每个项,最后在写个方法来读出这个Attribute的值就可以了public enum EnumTest
{
[Description("等于")]
等=1,
[Description("小于")]
小=2,
[Description("大于")]
大=3
}
public class EnumName
{
public static string GetEnumName(Enum en)
{
Type temType = en.GetType();
MemberInfo[] memberInfos= temType.GetMember(en.ToString());
if (memberInfos != null && memberInfos.Length > 0)
{
object[] objs= memberInfos[0].GetCustomAttributes(typeof(DescriptionAttribute), false);
if (objs != null && objs.Length > 0)
{
return ((DescriptionAttribute)objs[0]).Description;
}
}
return en.ToString();
}
}
2、关于是否可以使用特殊字符和保留字还不确定,没有找到官方的说明,也没有找到使用方法