首先自定义一个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. Xcode清除缓存、清理多余证书

    Xcode清除缓存.清理多余证书 1.删除Xcode中多余的证书provisioning profile 手动删除: Xcode6 provisioning profile path: ~/Libra ...

  2. MySQL数据库6 -查询基础,简单查询,条件查询,对查询结果排序

    一.SELECT语句 SELECT COL1,COL2,....COLn FROM TABLE1,TABLE2,....TABLEn [WHERE CONDITIONS] -- 查询条件 [GROUP ...

  3. php递归读取目录

    function recursion_dir($dir){ $files = array(); if($handle = opendir($dir)){ while(($file = readdir( ...

  4. Linux内核分析—完成一个简单的时间片轮转多道程序内核代码

    ---恢复内容开始--- 20135125陈智威 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-10 ...

  5. 2016 - 3 - 12 SQLite的学习之SQL语言入门

    1.SQL语句的特点: 1.1 不区分大小写 1.2 每条语句以;结尾 2.SQL语句中常用关键字: select,insert,update,from,create,where,desc,order ...

  6. iphone APP 去广告。 【转载】

    iPhone怎么去广告?相信大家对APP中的广告条都非常不喜欢,界面丑且容易误点被跳转,相信很多朋友都使用插件来去除广告,但是不越狱怎么去广告呢?下面小编教大家不越狱去除iPhone广告. iPhon ...

  7. $("").click与onclick的区别

    onclick是绑定事件,click本身是方法作用是触发onclick事件,只要执行了元素的click()方法,下面示例 Html代码 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 ...

  8. js版扫雷(可直接运行试玩)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. NOIP 考前 队列复习

    BZOJ 1127 #include <cstdio> #include <cstring> #include <iostream> #include <al ...

  10. NOIP 考前 暴力练习

    BZOJ 1028 暴力枚举听的那张牌,和那个多余的两张牌,其余的mod3后模拟就可以了 #include <cstdio> ; int n,m,a[Maxn],b[Maxn],cnt,A ...