首页 > 代码库 > 反射:获取枚举类型的Name,Value,Description
反射:获取枚举类型的Name,Value,Description
[Obsolete("请使用新的方法XXX")] //使用Obsolete特性来告诉使用者这是一个过期的方法 private static void Test() { Type t = typeof(ApprovalStatus); var fields = t.GetFields(); foreach (var item in fields) { if (!item.IsSpecialName) { var attr = item.GetCustomAttribute(typeof(DescriptionAttribute), false); string attribute = ""; if (attr != null) attribute = ((DescriptionAttribute)attr).Description; Console.WriteLine($"Description:{attribute}\tName:{item.Name}\tValue:{item.GetRawConstantValue()}"); } } Console.ReadKey(); }
枚举类:
/// <summary> /// 表示审批状态的枚举类 /// </summary> enum ApprovalStatus { /// <summary> /// ? /// </summary> [Description("")] NoUse = 0, /// <summary> /// 未提交 /// </summary> [Description("未提交")] NoSubmit = 1, /// <summary> /// 审核中 /// </summary> [Description("审核中")] OnApprovaling = 2, /// <summary> /// 待生效 /// </summary> [Description("待生效")] OnEffecting = 3, /// <summary> /// 已生效 /// </summary> [Description("已生效")] Effected = 4, /// <summary> /// 拒绝 /// </summary> [Description("拒绝")] Reject = 5, /// <summary> /// 撤销 /// </summary> [Description("撤销")] Undo = 6 }
效果:
反射:获取枚举类型的Name,Value,Description
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。