| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- using System;
- using System.ComponentModel;
- namespace ET;
- public static class EnumUtils
- {
- /// <summary>
- /// 获得枚举的描述信息
- /// </summary>
- /// <param name="enumValue"></param>
- /// <returns></returns>
- public static string ToDescription(this System.Enum enumValue)
- {
- var value = enumValue.ToString();
- var field = enumValue.GetType().GetField(value);
- object[] objs = field?.GetCustomAttributes(typeof(DescriptionAttribute), false);
- if (objs.Length == 0)
- return value;
- DescriptionAttribute descriptionAttribute = (DescriptionAttribute)objs[0];
- return descriptionAttribute.Description;
- }
- /// <summary>
- /// 根据值获取枚举方法 demo: Enum aa = GetEnumByValue(typeof(enum1), "123");
- /// </summary>
- /// <param name="enumType"></param>
- /// <param name="value"></param>
- /// <returns></returns>
- public static Enum GetEnumByValue(Type enumType, string value)
- {
- return Enum.Parse(enumType, value) as Enum;
- }
- /// <summary>
- /// 通过枚举,以及值,获取到对应的枚举属性上的描述
- /// </summary>
- /// <param name="enumType"></param>
- /// <param name="value"></param>
- /// <returns></returns>
- public static string ToDescriptionByEnumType(Type enumType, string value)
- {
- Enum @enum = Enum.Parse(enumType, value) as Enum;
- if (@enum != null)
- {
- return @enum.ToDescription();
- }
- else
- {
- return "";
- }
- }
- }
|