C#获取枚举描述代码
生活随笔
收集整理的這篇文章主要介紹了
C#获取枚举描述代码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
public class MusterEnum{/// 獲取枚舉的描述信息/// </summary>/// <param name="e">傳入枚舉對象</param>/// <returns>得到對應描述信息</returns>public String GetEnumDesc(Enum e){FieldInfo EnumInfo = e.GetType().GetField(e.ToString());if (EnumInfo == null){return "";}DescriptionAttribute[] EnumAttributes= (DescriptionAttribute[])EnumInfo.GetCustomAttributes(typeof(DescriptionAttribute), false);if (EnumAttributes.Length > 0){return EnumAttributes[0].Description;}return e.ToString();}/// <summary>/// 將含有描述信息的枚舉綁定到列表控件中/// </summary>/// <param name="listControl"></param>/// <param name="enumType"></param>private Dictionary<string, string> BindDesEnumToListControl(System.Type enumType){Dictionary<string, string> dic = new Dictionary<string, string>();foreach (object enumValue in Enum.GetValues(enumType)){Enum e = (Enum)enumValue;dic.Add(((int)enumValue).ToString(), GetEnumDesc(e));}return dic;} }
還有一個是根據傳入的枚舉的數字索引直接獲取
public static string GetEnumDesc<T>(Object obj){obj = (T)obj;if (obj == null) throw new ArgumentNullException("參數不能為null");if (!obj.GetType().IsEnum) throw new Exception("參數類型不正確");FieldInfo fieldinfo = obj.GetType().GetField(obj.ToString());string str = string.Empty;Object[] objs = fieldinfo.GetCustomAttributes(typeof(DescriptionAttribute), false);if (objs != null && objs.Length != 0){DescriptionAttribute des = (DescriptionAttribute)objs[0];str = des.Description;}return str;}?
本文轉自左正博客園博客,原文鏈接:http://www.cnblogs.com/soundcode/p/4846916.html,如需轉載請自行聯系原作者總結
以上是生活随笔為你收集整理的C#获取枚举描述代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java json转map
- 下一篇: 在 Spring中 创建 JavaBea