国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#如何獲取枚舉的描述屬性詳解

2020-01-24 00:10:13
字體:
來源:轉載
供稿:網友

前言

枚舉為我看日常開發的可讀性提供的非常好的支持,但是有時在使用枚舉類型時,我們需要取名稱和值,甚至有時候還需要取枚舉類型的描述。通過反射,我們能獲取到枚舉類型的描述屬性。

首先我們需要給枚舉類型添加描述屬性(屬性都沒有是不可能取到的),[Description]就是描述屬性,使用這個屬性,我們需要添加 using System.ComponentModel 引用。

public enum EnumSex{  /// <summary>  /// 男  /// </summary>  [Description("男")]  Male = 0,  /// <summary>  /// 女  /// </summary>  [Description("女")]  Female = 1}

接著我們需要寫一個獲取描述屬性的方法,FieldInfo需要添加 using System.Reflection 引用,DescriptionAttribute需要添加 using System.ComponentModel 引用。

public string GetEnumDescription(Enum enumValue){  string value = enumValue.ToString();  FieldInfo field = enumValue.GetType().GetField(value);  object[] objs = field.GetCustomAttributes(typeof(DescriptionAttribute), false);  //獲取描述屬性  if (objs == null || objs.Length == 0)  //當描述屬性沒有時,直接返回名稱    return value;  DescriptionAttribute descriptionAttribute = (DescriptionAttribute)objs[0];  return descriptionAttribute.Description;}

好了,現在我們可以獲取到枚舉的描述了。

string sex = GetEnumDescription(EnumSex.Female); //sex = "女"

同理,我們可以給枚舉類型賦上其他類型的屬性,比如Obsolete,在GetEnumDescription方法里面將DescriptionAttribute換成ObsoleteAttribute,一樣可以取到屬性。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 贵港市| 红原县| 封开县| 阿合奇县| 什邡市| 兴义市| 海南省| 辽源市| 潮州市| 锡林郭勒盟| 汾阳市| 东平县| 疏附县| 淮安市| 奉化市| 五原县| 汪清县| 通州市| 甘洛县| 肇州县| 应用必备| 石林| 霍山县| 英德市| 抚宁县| 广饶县| 贵州省| 金湖县| 习水县| 岚皋县| 旌德县| 元江| 尖扎县| 宁陕县| 宝兴县| 宜章县| 阿荣旗| 怀宁县| 荣昌县| 河西区| 伊金霍洛旗|