【Enum】加载枚举值

/// <summary> /// 获取枚举注释 /// </summary> /// <typeparam name="T">枚举类型</typeparam> /// <param name="e">枚举值</param> /// <returns></returns> public static string ToComment<T>(this T e) where T : struct, IConvertible { var t = typeof(T); if (!t.IsEnum) return null; var name = t.GetEnumName(e); var fieldInfos = t.GetFields(); foreach (var fieldInfo in fieldInfos) { if (fieldInfo.Name == name) { var attr = fieldInfo.GetCustomAttributes(typeof(EnumNameAttribute), false).FirstOrDefault(); if (attr != null) { return ((EnumNameAttribute)attr).Comment; } } } return null; } /// <summary> /// 订单状态 /// </summary> public EOrderStatus Status { get; set; } public string StatusName { get { return ETL.Common.EnumHelper.ToComment(Status); } } /// <summary> /// 订单状态 /// </summary> public enum EOrderStatus : int { /// <summary> /// 待支付 /// </summary> [EnumName("待支付")] waitPay = 0, /// <summary> /// 支付中待确认(线下支付上传缴费凭证后,待财务审核) /// </summary> [EnumName("支付中待确认")] payingWaitVerify = 1, /// <summary> /// 退款中 (申请退款,待审核)当退款申请提交后,订单状态应由已支付变为退款中 大订单删除 明细不删 /// </summary> [EnumName("退款中")] refunding = 2, /// <summary> /// 已退款 大订单删除 明细不删 /// </summary> [EnumName("已退款")] refundComplete = 3, /// <summary> /// 已完成 /// </summary> [EnumName("已完成")] complete = 4, /// <summary> /// 已取消 /// </summary> [EnumName("已取消")] cancel = 5, /// <summary> /// 已驳回 /// </summary> [EnumName("已驳回")] rejected = 6, /// <summary> /// 部分退款 /// </summary> [EnumName("部分退款")] refundPart = 7, }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2020-07-12 CentOS 7 系统中忘记了root管理员账号密码的解决方式
2020-07-12 ping: www.baidu.com: 未知的名称或服务
2020-07-12 CentOS 7 网络设置