首先自定义一个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. Linux安装FTP服务

    转自:http://blog.csdn.net/huangbiao86/article/details/6641952 ftp服务器 1.  在Linux和其他机器之间共享文件(在linux下安装ft ...

  2. Node连接MySQL

    http://blog.fens.me/nodejs-mysql-intro/ http://czpae86.iteye.com/blog/1636302 http://www.cnblogs.com ...

  3. linux装JDK

    一.安装sun java升 级到ubuntu 11.10之后.ubuntu 默认自带的是openjdkjava.默认情况这个是能够使用的,但是如果你想搭建专业的开发环境,还是需要使用sun的靠谱.另外 ...

  4. MVC 使用 Webuploader 插件 传递额外参数 备忘笔记

    // 实例化 uploader = WebUploader.create({ pick: { id: '#filePicker-2', label: '点击选择图片' }, formData: { k ...

  5. IntelliJ IDEA注册码

    1.打开IJ,help选项下的register 2. 选择Activation code 将注册码粘到内容框里,点击ok即可 43B4A73YYJ-eyJsaWNlbnNlSWQiOiI0M0I0QT ...

  6. 用手机自带uc浏览器查看静态页面,css样式不显示

    问题描述: 这个问题是一个同事在写手机页面用UC浏览器测试以后遇到的,其他浏览器静态页面显示正常,唯独UC浏览器不显示页面样式. 我测试过代码是没有问题的,因为临时没有找到安卓手机,就猜想PC端的应该 ...

  7. LayaAir引擎——(十一)

    var c = new Array(); var d = new Array(); var e = new Array(); var f = new Array(); var g = new Arra ...

  8. JS手札

    Node JS 关于JS调用 被调用:exports.cv=cv; cv为类,可以使用其方法cv.***: cv为函数名,可以使用其函数cv( , ): 调用: var cv=require(cv); ...

  9. VIM-Sed常用的一些记录。。。逐渐学习。。

    :[range]co[py] {address} :t :[range]m[ove] {address] 例如 :1,3t10  1-3行复制到10行后.用m就是移动了. :sort / /   // ...

  10. 在 CentOS 7.x / Fedora 21 上面体验 PHP 7.0

    编译自:http://linoxide.com/linux-how-to/install-php-7-centos-7-fedora-21/作者: Aun Raza原创:LCTT https://li ...