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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章