/// <summary> /// 返回枚举项的EnumDefineAttribute集合。 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="identiyName"></param> /// <returns></returns> public static List <EnumDefineAttribute> GetEnumDefineAttributes <T>(string identiyName) { Type typeFromHandle = typeof(T); if (!typeFromHandle.IsEnum) { throw new System.Exception("GetEnumDefineAttributes<T> 中的 T 必须为枚举类型!"); } List <EnumDefineAttribute> list = new List <EnumDefineAttribute>(); Array enumArray = System.Enum.GetValues(typeFromHandle); for (int i = 0; i < enumArray.Length; i++) { System.Enum en = (System.Enum)enumArray.GetValue(i); EnumDefineAttribute enumDefineAttribute = GetEnumDefineAttribute(en); enumDefineAttribute.Value = GetValue(en); if (!string.IsNullOrEmpty(identiyName) && enumDefineAttribute.Identity == identiyName) { list.Add(enumDefineAttribute); } } return(list); }
/// <summary> /// 获得枚举EnumDefineAttribute定义的Description内容。 /// </summary> /// <param name="en">枚举。</param> /// <returns></returns> public static string GetDescription(this System.Enum en) { EnumDefineAttribute enumDefineAttribute = GetEnumDefineAttribute(en); return(enumDefineAttribute.Description); }