反射:获取枚举类型的Name,Value,Description
2024-08-31 22:54:11
[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
}
效果:
最新文章
- ASP.NET跨平台最佳实践
- Unity3D中使用委托和事件
- 【Cocos2d-x for WP8 学习整理】(4)CCTableView 实现《天天爱消除》中的得分榜
- .NET面试题解析(01)-值类型与引用类型
- 计算&;IO密集型任务的 优化
- Uxf框架引入Rest控制器特性
- js定时器 特定时间执行某段程序的例子
- php 函数 array_slice
- poj 3046 Ant Counting (DP多重背包变形)
- 常用PHP中花括号使用规则详解
- java 数据结构 图
- bzoj3110: [Zjoi2013]K大数查询 【cdq分治&;树套树】
- Jmeter_打印当前时间戳&;打印偏移时间戳
- Salesforce知识整理(一)之Lightning Web Component Tools
- 解决org.hibernate.HibernateException: identifier of an instance of com.ahd.entity.Order was altered from2 to 0
- P1638 逛画展(直尺法)
- Curator实现分布式锁
- 13.14.15.16.17&;《一个程序猿的生命周期》读后感
- IPC 之 Socket 的使用
- OmniThreadLibrary学习笔记
热门文章
- 灵活使用Excel可能会提高Java代码编写效率
- push的时候隐藏底部的tabbar
- BZOJ 2286 消耗战 - 虚树 + 树型dp
- mysql5.6+主从集的版本号(mysql5.5主机和从机载带后,5.5在设置有一定的差距)
- 【25.23%】【codeforces 731C】Socks
- 冒泡排序 和 选择排序的 区别 python
- c语言学习笔记(3)——输入输出
- 制作简单的WPF时钟
- 详解Python模块导入方法
- ASP.NET Core 动作结果 - ASP.NET Core 基础教程 - 简单教程,简单编程