123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Linq;
- using System.Text;
- namespace Ant.Service.Utility
- {
- public class EnumPlus
- {
- /// <summary>
- /// 获取枚举的描述信息
- /// </summary>
- /// <param name="e">枚举值</param>
- /// <returns>描述信息</returns>
- public static string GetEnumDesc(Enum e)
- {
- var enumInfo = e.GetType().GetField(e.ToString());
- var enumAttributes = (DescriptionAttribute[])enumInfo.GetCustomAttributes(typeof(DescriptionAttribute), false);
- return enumAttributes.Length > 0 ? enumAttributes[0].Description : e.ToString();
- }//end method
- /// <summary>
- /// 重载将含有描述信息的枚举绑定到列表控件中的方法
- /// </summary>
- /// <param name="listControl">待绑定控件</param>
- /// <param name="enumType">枚举类型申明</param>
- public static List<EnumModel> DesEnumToList(Type enumType)
- {
- List<EnumModel> enumlist = new List<EnumModel>();
- foreach (object enumValue in Enum.GetValues(enumType))
- {
- if (enumValue != null)
- {
- EnumModel mod = new EnumModel();
- mod.Desc = GetEnumDesc((Enum)enumValue);
- mod.Name = enumValue.ToString();
- mod.Value = enumValue.ToInt32();
- enumlist.Add(mod);
- }
- }
- return enumlist;
- }//end method
- }
- public class EnumModel
- {
- /// <summary>
- /// 枚举名称
- /// </summary>
- public string Name { get; set; }
- /// <summary>
- /// 枚举的值
- /// </summary>
- public int Value { get; set; }
- /// <summary>
- /// 枚举的备注
- /// </summary>
- public string Desc { get; set; }
- }
- }
|