using System; using System.ComponentModel; using System.Reflection; namespace Znyc.Recruitment.Admin.Commons.Extensions { /// <summary> /// 枚举类型的扩展 /// </summary> public static class EnumExtensions { /// <summary> /// </summary> /// <param name="item"></param> /// <returns></returns> public static string ToDescription(this Enum item) { string name = item.ToString(); DescriptionAttribute desc = item.GetType().GetField(name)?.GetCustomAttribute<DescriptionAttribute>(); return desc?.Description ?? name; } /// <summary> /// </summary> /// <param name="item"></param> /// <returns></returns> public static long ToInt64(this Enum item) { return Convert.ToInt64(item); } /// <summary> /// 根据枚举的value获取枚举 /// </summary> /// <param name="enumType">枚举的类型,示例:typeof(enum1)</param> /// <param name="value">可能的枚举值</param> /// <returns>枚举,示例:enum1.en1</returns> public static Enum ParseEnum(Type enumType, string value) { return Enum.Parse(enumType, value) as Enum; } } }