WebAPI返回状态码——Enum扩展类
-/// <summary> /// 枚举拓展类 /// </summary> public static class EnumExtensions { /// <summary> /// 获取枚举的描述信息 /// </summary> /// <param name="value"></param> /// <returns></returns> public static string GetDescription(this object value) { if (value == null) return string.Empty; var type = value.GetType(); var fieldInfo = type.GetField(Enum.GetName(type, value)); if (fieldInfo == null) return string.Empty; if (!Attribute.IsDefined(fieldInfo, typeof(DescriptionAttribute))) return string.Empty; if (Attribute.GetCustomAttribute(fieldInfo, typeof(DescriptionAttribute)) is DescriptionAttribute description) return description.Description; return string.Empty; } /// <summary> /// 获取枚举对应的值 /// </summary> /// <typeparam name="T">枚举类型</typeparam> /// <param name="enumName">枚举对应值的名</param> /// <returns>枚举对象对应的值</returns> public static int GetEnumValue<T>(this object enumName) { return (int)enumName.GetEnumObj<T>(); } /// <summary> /// 获取枚举对象 /// </summary> /// <typeparam name="T">枚举类型</typeparam> /// <param name="enumName">枚举对应值的名</param> /// <returns>枚举对象</returns> private static object GetEnumObj<T>(this object enumName) { var enumNameValue = enumName.ToString(); return (T)Enum.Parse(typeof(T), enumNameValue); } }
本文转载 " 整理 "
原文地址 " "