实用技巧——通用枚举状态转换
获取枚举类型的Description,用于转换状态
public enum DictOrderStatus { /// <summary> /// 运行中 /// </summary> [Description("运行中")] Running = 1, /// <summary> /// 已关闭 /// </summary> [Description("已关闭")] Stopped = 0 } public static class EnumHelper { /// <summary> /// 获取指定枚举的Description信息 /// </summary> /// <param name="e">枚举值</param> /// <returns>Description</returns> public static string GetEnumDescription<TEnum>(TEnum e) { FieldInfo fielInfo = e.GetType().GetField(e.ToString()); object[] objs = fielInfo.GetCustomAttributes(true); if (objs.Length <= 0) return string.Empty; DescriptionAttribute desAttr = objs[0] as DescriptionAttribute; return desAttr.Description; } } //调用 int orderStatus = 1; string statusString = EnumHelper.GetEnumDescription((DictOrderStatus) orderStatus);