[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的更多相关文章

  1. 获取枚举类型Description特性的描述信息

    C#中可以对枚举类型用Description特性描述. 如果需要对Description信息获取,那么可以定义一个扩展方法来实现.代码如下: public static class EnumExten ...

  2. .net工具类 获取枚举类型的描述

    一般情况我们会用枚举类型来存储一些状态信息,而这些信息有时候需要在前端展示,所以需要展示中文注释描述. 为了方便获取这些信息,就封装了一个枚举扩展类. /// <summary> /// ...

  3. 获取枚举类型的描述description

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; usin ...

  4. 给枚举加上Description,必要时,可以直接获取枚举类型代表的中文

    http://www.cnblogs.com/lyl6796910/p/3958768.html

  5. C# 反射获取属性类型及属性值,两个实体转换

    一.两个实体数据转换 /// <summary> /// 为属性赋值 /// </summary> /// <typeparam name="T"&g ...

  6. (原)UnrealObj篇 : 反射获取Struct类型

    @Author: 白袍小道 转载请说明     案例一:蓝图传递任意Struct ,导出struct的相关属性 相关: 1.宏:DECLARE_FUNCTION: 此宏用于在自动生成的样板代码中声明t ...

  7. 【转载】[C#]枚举操作(从枚举中获取Description,根据Description获取枚举,将枚举转换为ArrayList)工具类

    关键代码: using System; using System.Collections; using System.Collections.Generic; using System.Compone ...

  8. C# 获取枚举的描述Description

    方法类: public static class EnumExtensions { #region Enum /// <summary> /// 获取枚举变量值的 Description ...

  9. 从一个int值显示相应枚举类型的名称或者描述

    我正在做一个出入库管理的简单项目,在Models里定义了这样的枚举类型 public enum InOrOut { [Description("出库")] Out = , [Des ...

随机推荐

  1. C++ public、protected、private 继承方式的区别

    访问修饰符 public.protected.private,无论是修饰类内成员(变量.函数),还是修饰继承方式,本质上实现的都是可见性的控制. Difference between private, ...

  2. Erlang epmd的角色以及使用

    本文链接地址: Erlang epmd的角色以及使用 很多同学误会了epmd的作用,认为epmd就是erlang集群的协议,我来澄清下: Epmd是Erlang Port Mapper Daemon的 ...

  3. 【codeforces 777B】Game of Credit Cards

    [题目链接]:http://codeforces.com/contest/777/problem/B [题意] 等价题意: 两个人都有n个数字, 然后两个人的数字进行比较; 数字小的那个人得到一个嘲讽 ...

  4. [Android]TextView实现分散对齐(两端对齐)

    TextView是个特别基础的Android控件,只要有文本基本就少不了它.但是最近在项目开发的过程中我发现TextView存在很多局限性,其中最令我头疼的就是TextView文本排版方面的问题.我们 ...

  5. hadoop 3.x 无法访问hdfs(50070,8088)的web界面

    1.启动hadoop.然后netstat -nltp|grep 50070,如果,没有找到进程,说明没有配置web界面的端口修改hdfs-site,xml中加上如下配置 再次启动后,netstat - ...

  6. Vue中import '@...'是什么

    今天看新项目代码,有import '@/assets/css/theme/index.css'一类的代码,里面的@是做什么的呢.   找到这篇文章https://www.cnblogs.com/bos ...

  7. XMPP开发adiumclient登陆

    我写在前面client它已经实现了登陆,我用下面的adium要登录落实的朋友加入,而自己写的client在聊天帐号. 第一次登录时adium工欲善其事,必先例如,下面的配置 保存后.你会发现自己的账号 ...

  8. Android-apktool反汇编异常-Input file (XXX) was not found or was not readable.

    问题描述: 原因: 在apptool 2.0以后命令发生了变化,不能再使用 apktool d <apk_path> <outfile_path> 解决方法:解决方法: 使用命 ...

  9. Smali相关的基础知识点

    通过本篇博客的学习,相信你可以无压力的读懂Smali语言文件,并可以将Smali还原成java!!! 其实Smali语言并不是很难,如果你有一些汇编指令的基础,学习Smali就更加简单了,有兴趣的可以 ...

  10. 理解 t-SNE (Python)

    t-SNE(t-distribution Stochastic Neighbor Embedding)是目前最为流行的高维数据的降维算法. t-SNE 成立的前提基于这样的一个假设:我们现实世界观察到 ...