首页 > 代码库 > Enum枚举类使用集合
Enum枚举类使用集合
1、使用扩展方法使用枚举值对于的Description属性值
public static class EnumExtenstion{public static string GetDescriptionName(this Enum enumValue){object[] attr = enumValue.GetType().GetField(enumValue.ToString()).GetCustomAttributes(typeof(DescriptionAttribute), false);if (attr.Length > 0)return ((DescriptionAttribute)attr[0]).Description;return "";}}
2、获取枚举Description属性值和枚举值的对于关系
/// <summary>/// 获取枚举类型描述属性和枚举值的关系集合(如果没有描述信息或描述信息为空,则不建立关系)/// </summary>/// <typeparam name="T"></typeparam>/// <returns></returns>public static Dictionary<string, int> GetEnumDescriptionAndValue<T>(){var dicFeatureStatusNameId = new Dictionary<string, int>();FieldInfo[] fiArray = typeof(T).GetFields();foreach (FieldInfo item in fiArray){object[] attrs = item.GetCustomAttributes(typeof(DescriptionAttribute), false);if (attrs.Length > 0) //有Description属性{string descriptionName = ((DescriptionAttribute)attrs[0]).Description; //枚举描述值if (!string.IsNullOrWhiteSpace(descriptionName)&& !dicFeatureStatusNameId.ContainsKey(descriptionName)){int value = http://www.mamicode.com/item.GetValue(typeof(T)).GetHashCode(); //枚举值dicFeatureStatusNameId.Add(descriptionName, value);}}}return dicFeatureStatusNameId;}
Enum枚举类使用集合
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。