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;*/
                      }

 

posted on 2018-08-31 09:04  lucika.zh  阅读(214)  评论(0编辑  收藏  举报

导航