首先自定义一个RemarkAttribute

[html] view plain copy

  1. using System; 
  2. using System.Collections.Generic; 
  3. using System.Linq; 
  4. using System.Reflection; 
  5. using System.Text; 
  6. using System.Threading.Tasks; 
  7. namespace Zemp.Process.Util.EnumAttribute 
  8. public class RemarkAttribute : Attribute 
  9. private string _remark; 
  10. public RemarkAttribute(string _remark) 
  11. this._remark = _remark; 
  12. public string Remark 
  13. get { return _remark; } 
  14. set { _remark = value; } 
  15. public static string GetEnumRemark(System.Enum _enum) 
  16. Type type = _enum.GetType(); 
  17. FieldInfo fd = type.GetField(_enum.ToString()); 
  18. if (fd == null) return string.Empty; 
  19. object[] attrs = fd.GetCustomAttributes(typeof(RemarkAttribute), false); 
  20. string name = string.Empty; 
  21. foreach (RemarkAttribute attr in attrs) 
  22. name = attr.Remark; 
  23. return name; 
  24. }

然后在Enum里面的使用

[html] view plain copy

  1. using System; 
  2. using System.Collections.Generic; 
  3. using System.Linq; 
  4. using System.Text; 
  5. using System.Threading.Tasks; 
  6. using Zemp.Process.Util.EnumAttribute; 
  7. namespace Zemt.Process.WebServiceAPI.Enum 
  8. public enum WorkflowTypeEnum 
  9. /// <summary>
  10. /// 草稿 
  11. /// </summary>
  12. [Remark("草稿")] 
  13. Draft = -1, 
  14. /// <summary>
  15. /// 流转结束 
  16. /// </summary>
  17. [Remark("流转结束")] 
  18. Completed = 0, 
  19. /// <summary>
  20. /// 用户取消 
  21. /// </summary>
  22. [Remark("用户取消")] 
  23. UserCancel = 1, 
  24. /// <summary>
  25. /// 管理员取消 
  26. /// </summary>
  27. [Remark("管理员取消")] 
  28. AdminCancel = 2, 
  29. /// <summary>
  30. /// 流转中  
  31. /// </summary>
  32. [Remark("流转中")] 
  33. Running = 3, 
  34. /// <summary>
  35. /// 流转中(曾被拒绝过) 
  36. /// </summary>
  37. [Remark("流转中(曾被拒绝过)")] 
  38. EverDeclined = 4, 
  39. /// <summary>
  40. /// 未流转 
  41. /// </summary>
  42. [Remark("未流转")] 
  43. None = 5
  44. }

使用:得到Remark里面的值

RemarkAttribute.GetEnumRemark(WorkflowTypeEnum.None);

int 转 enum

(WorkflowTypeEnum)5

enum转int

convert.into32(WorkflowTypeEnum.None)

http://blog.csdn.net/qq873113580/article/details/48464481

EnumRemarkAttribute,获取属性值的更多相关文章

  1. storm源码之巧用java反射反序列化clojure的defrecord获取属性值

    [原创]storm源码之巧用java反射反序列化clojure的defrecord获取属性值 [原创]storm源码之巧用java反射反序列化clojure的defrecord获取属性值 storm源 ...

  2. C# 反射获取属性值、名称、类型以及集合的属性值、类型名称

    实体类 class Product { public string Id { get; set; } public string Name { get; set; } public List<P ...

  3. java 反射机制--根据属性名获取属性值

    1.考虑安全访问范围内的属性,没有权限访问到的属性不读取 /** * 根据属性名获取属性值 * * @param fieldName * @param object * @return */ priv ...

  4. HtmlAgilityPack中使用xpath获取属性值

    HtmlAgilityPack介绍 HtmlAgilityPack是一个专门用来解析Html的库,它可以使用xml的方式来解析html. 有人说了,html本身不就是xml?是的,html就是xml, ...

  5. JSON 获取属性值的方法

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript(Standard ECMA-262 ...

  6. C#反射设置属性值和获取属性值

    /// /// 获取类中的属性值 /// /// /// /// public string GetModelValue(string FieldName, object obj) { try { T ...

  7. js中attr 与find 获取属性值,

    一.attr的用法 1. attr(属性名)        //获取属性的值(取得第一个匹配元素的属性值.通过这个方法可以方便地从第一个匹配元素中获取一个属性的值.如果元素没有相应属性,则返回 und ...

  8. [转] C#反射设置属性值和获取属性值

    /// /// 获取类中的属性值 /// /// /// /// public string GetModelValue(string FieldName, object obj) { try { T ...

  9. 转:JSON 获取属性值的方法

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript(Standard ECMA-262 ...

随机推荐

  1. ios开发之网络php

    接着前面的学习,几天上午学习了数据库网络值php用户的注册与登录,感觉代码与ios上的oc太相似了,因此学习下来没什么障碍了,下面是代码: 首先是javascript.html文件中: <!DO ...

  2. ios framework 简单制作

    在制作过程中遇到的一些问题跟大家分享下,直接上步骤 制作库有分模拟器框架和真机矿机  如果报错x86_64什么的字眼就是库里面没有包含模拟器框架 模拟器:iPhone4s~5 : i386 iPhon ...

  3. 遗传算法的C语言实现(一):以非线性函数求极值为例

    以前搞数学建模的时候,研究过(其实也不算是研究,只是大概了解)一些人工智能算法,比如前面已经说过的粒子群算法(PSO),还有著名的遗传算法(GA),模拟退火算法(SA),蚁群算法(ACA)等.当时懂得 ...

  4. Spring中配置文件中引用外部文件

    src\dayday\conn.java package dayday;import java.sql.Connection;import java.sql.DriverManager;import ...

  5. em 和 px相互转换

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  6. alpha值的问题

    但凡图像都会涉及到透明度问题.使用透明度之后就可以看到多层图像.Alpha值就是用于描述透明度的参量.Alpha值是一个百分数,alpha=1表示源文件发出的光全部被观察者观察到. 既然是透明度,那么 ...

  7. 编程等宽字体Source Code Pro(转)

    Source Code Pro - 最佳的免费编程字体之一!来自 Adobe 公司的开源等宽字体下载     每一位程序员都有一套自己喜爱的代码编辑器与编程字体,譬如我们之前就推荐过一款"神 ...

  8. VBS非规范化参考手册(一)

    变量类型: 空型:NULL NULL 布尔型:BOOLEN true false 字节型:Byte 0~255 整形:INTEGER -32768~32767 长整形:LONG -2^32~2^31+ ...

  9. RunLoop笔记

    1.Runloop基础知识 - 1.1 字面意思 a 运行循环 b 跑圈 - 1.2 基本作用(作用重大) a 保持程序的持续运行(ios程序为什么能一直活着不会死) b 处理app中的各种事件(比如 ...

  10. 微信小程序开发技巧及填坑记录

    以下是自己在开发过程中遇到的坑和小技巧,记录以下: 1.出现了 page[pages/XXX/XXX] not found.May be caused by :1. Forgot to add pag ...