c#枚举描述
1、枚举遍历
public enum e_Sex{ male=1, female=2 } foreach (var value in Enum.GetValues(typeof(e_Sex)){ /* 获取枚举数值 e.g. 1,2 Convert.ToInt32(value) */ /* 获取枚举定义. e.g. mail,femal value.ToString() */ }
这些都是给计算机看的。如果需要将枚举展示给用户,如上面枚举中的性别,男、女
可以通过下面的方式来实现。
枚举定义:
public enum e_Sex{ [System.ComponentModel.Description("男")] male=1, [System.ComponentModel.Description("女")] female=2 }
上述遍历枚举的时,再增加下面的方法
object[] objAttrs = value.GetType().GetField(value.ToString()).GetCustomAttributes(typeof(DescriptionAttribute), true); if (objAttrs != null && objAttrs.Length > 0) { DescriptionAttribute descAttr = objAttrs[0] as DescriptionAttribute; /* descAttr.Description;*/ }