首页 > 代码库 > 枚举扩展方法获取枚举Description
枚举扩展方法获取枚举Description
枚举扩展方法
1 /// <summary> 2 /// 扩展方法,获得枚举的Description 3 /// </summary> 4 /// <param name="value">枚举值</param> 5 /// <param name="nameInstend">当枚举没有定义DescriptionAttribute,是否用枚举名代替,默认使用</param> 6 /// <returns>枚举的Description</returns> 7 public static string GetDescription(this Enum value, bool nameInstend = true) 8 { 9 Type type = value.GetType();10 string name = Enum.GetName(type, value);11 if (name==null)12 {13 return null;14 }15 FieldInfo field = type.GetField(name);16 DescriptionAttribute attribute = Attribute.GetCustomAttribute(field, typeof(DescriptionAttribute)) as DescriptionAttribute;17 if (attribute==null&&nameInstend==true)18 {19 return name;20 }21 return attribute==null? null :attribute.Description;22 }
枚举类
1 public enum WeekDay 2 { 3 [Description("星期一")] 4 one=1, 5 [Description("星期二")] 6 two =2, 7 three=3, 8 four=4, 9 five=5,10 six=6,11 seven=712 13 }
测试
//枚举测试 WeekDay w1 = WeekDay.one; string strw1 = w1.GetDescription();// strw1= “星期一” WeekDay w3 = WeekDay.three; string strw2 = w3.GetDescription();// strw3=“three”
枚举扩展方法获取枚举Description
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。