EnumRemarkAttribute,获取属性值
首先自定义一个RemarkAttribute
[html] view plain copy
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Reflection;
- using System.Text;
- using System.Threading.Tasks;
- namespace Zemp.Process.Util.EnumAttribute
- {
- public class RemarkAttribute : Attribute
- {
- private string _remark;
- public RemarkAttribute(string _remark)
- {
- this._remark = _remark;
- }
- public string Remark
- {
- get { return _remark; }
- set { _remark = value; }
- }
- public static string GetEnumRemark(System.Enum _enum)
- {
- Type type = _enum.GetType();
- FieldInfo fd = type.GetField(_enum.ToString());
- if (fd == null) return string.Empty;
- object[] attrs = fd.GetCustomAttributes(typeof(RemarkAttribute), false);
- string name = string.Empty;
- foreach (RemarkAttribute attr in attrs)
- {
- name = attr.Remark;
- }
- return name;
- }
- }
- }
然后在Enum里面的使用
[html] view plain copy
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using Zemp.Process.Util.EnumAttribute;
- namespace Zemt.Process.WebServiceAPI.Enum
- {
- public enum WorkflowTypeEnum
- {
- /// <summary>
- /// 草稿
- /// </summary>
- [Remark("草稿")]
- Draft = -1,
- /// <summary>
- /// 流转结束
- /// </summary>
- [Remark("流转结束")]
- Completed = 0,
- /// <summary>
- /// 用户取消
- /// </summary>
- [Remark("用户取消")]
- UserCancel = 1,
- /// <summary>
- /// 管理员取消
- /// </summary>
- [Remark("管理员取消")]
- AdminCancel = 2,
- /// <summary>
- /// 流转中
- /// </summary>
- [Remark("流转中")]
- Running = 3,
- /// <summary>
- /// 流转中(曾被拒绝过)
- /// </summary>
- [Remark("流转中(曾被拒绝过)")]
- EverDeclined = 4,
- /// <summary>
- /// 未流转
- /// </summary>
- [Remark("未流转")]
- None = 5
- }
- }
使用:得到Remark里面的值
RemarkAttribute.GetEnumRemark(WorkflowTypeEnum.None);
int 转 enum
(WorkflowTypeEnum)5
enum转int
convert.into32(WorkflowTypeEnum.None)
http://blog.csdn.net/qq873113580/article/details/48464481
EnumRemarkAttribute,获取属性值的更多相关文章
- storm源码之巧用java反射反序列化clojure的defrecord获取属性值
[原创]storm源码之巧用java反射反序列化clojure的defrecord获取属性值 [原创]storm源码之巧用java反射反序列化clojure的defrecord获取属性值 storm源 ...
- C# 反射获取属性值、名称、类型以及集合的属性值、类型名称
实体类 class Product { public string Id { get; set; } public string Name { get; set; } public List<P ...
- java 反射机制--根据属性名获取属性值
1.考虑安全访问范围内的属性,没有权限访问到的属性不读取 /** * 根据属性名获取属性值 * * @param fieldName * @param object * @return */ priv ...
- HtmlAgilityPack中使用xpath获取属性值
HtmlAgilityPack介绍 HtmlAgilityPack是一个专门用来解析Html的库,它可以使用xml的方式来解析html. 有人说了,html本身不就是xml?是的,html就是xml, ...
- JSON 获取属性值的方法
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript(Standard ECMA-262 ...
- C#反射设置属性值和获取属性值
/// /// 获取类中的属性值 /// /// /// /// public string GetModelValue(string FieldName, object obj) { try { T ...
- js中attr 与find 获取属性值,
一.attr的用法 1. attr(属性名) //获取属性的值(取得第一个匹配元素的属性值.通过这个方法可以方便地从第一个匹配元素中获取一个属性的值.如果元素没有相应属性,则返回 und ...
- [转] C#反射设置属性值和获取属性值
/// /// 获取类中的属性值 /// /// /// /// public string GetModelValue(string FieldName, object obj) { try { T ...
- 转:JSON 获取属性值的方法
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript(Standard ECMA-262 ...
随机推荐
- H5的FormData对象完成ajax上传文件multiFile
最近工作中需要完成,ajax上传图片,可是input file +ajax是无法完成的: 于是寻找了许久,发现了H5 的一个对象FormData 使用方法如下: HTML: <form id=& ...
- ubuntu安装谷歌输入法
1,sudo apt-get install fcitx-googlepinyin 2,在settings->Language Support里将keyboard input method sy ...
- maven 下载 源码和javadoc 命令
摘要:我们在写代码时候,往往是想查看一下源码,看看源码的一些细节内容.一般情况下,在IDE(如eclipse)中近仅仅只需按住ctrl+ 点击对应的方法即可进入对应的源码部分.但是有些时候很多依赖项并 ...
- [C++中级进阶]001_C++0x里的完美转发到底是神马?
[C++中级进阶]001_C++0x里的完美转发到底是神马? 转载至:http://www.cnblogs.com/alephsoul-alephsoul/archive/2013/01/10/285 ...
- css2----兼容----ie67的3像素bug
发生条件:当浮动元素和非浮动元素相邻 时候,ie67下,两个元素就会多出3像素的间隔,其实是浮动元素产生的margin值 解决办法:1:让没有浮动的元素也浮动: 2:让浮动元素产生margin-*:- ...
- Linux代码的重用与强行卸载Linux驱动
(一)Linux代码的重用 重用=静态重用(将要重用的代码放到其他的文件的头文件中声明)+动态重用(使用另外一个Linux驱动中的资源,例如函数.变量.宏等) 1.编译是由多个文件组成的Linux驱动 ...
- jsp数据交互(一),九大内置对象
九大内置对象 九大内置对象 内置对象 类型 说明 作用域 request javax.servlet.ServletRequest 请求对象——在 一次请求/一个Request请求周期 中传递数据,请 ...
- iOS开发:保持程序在后台长时间运行
iOS开发:保持程序在后台长时间运行 2014 年 5 月 26 日 / NIVALXER / 0 COMMENTS iOS为了让设备尽量省电,减少不必要的开销,保持系统流畅,因而对后台机制采用墓碑式 ...
- android的apk逆向工程后的文件目录介绍
一.用压缩软件打开apk,得到五个文件或文件夹 1.META-INF 2.res 3.AndroidManifest.xml 4.classes.dex 5.resources.arsc 二.xml文 ...
- 关于w3school的html5部分output 元素实例代码(点亲自试一试进去)的问题纠正
修复: 将原来的 = 号修改成 <input type="button" onclick="resCalc()" value ="=" ...