c#枚举描述

1、枚举遍历

public enum e_Sex{
male=,
female=
} 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=,
[System.ComponentModel.Description("女")]
female=
}

上述遍历枚举的时,再增加下面的方法

object[] objAttrs = value.GetType().GetField(value.ToString()).GetCustomAttributes(typeof(DescriptionAttribute), true);
if (objAttrs != null &&
objAttrs.Length > )
{
DescriptionAttribute descAttr = objAttrs[] as DescriptionAttribute; /* descAttr.Description;*/
}
上一篇:leetcode — best-time-to-buy-and-sell-stock


下一篇:A Knight's Journey 分类: dfs 2015-05-03 14:51 23人阅读 评论(0) 收藏