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 ...
随机推荐
- Object.notifyAll()
void java.lang.Object.notifyAll() Causes all threads which are waiting on this object's monitor (by ...
- Eclipse下.project和.classpath作用(转)
classpath作用 定义项目的结构,如src.output.con.lib等. 源文件的具体位置(kind="src") 运行的系统环境(kind="con" ...
- js zTree的用法
代码如下: <script type="text/javascript"> var reginTree = { setting: { view ...
- 手机web页面开发-第一弹
毕业设计题目<基于three.js的太阳系全景漫游>,项目开发运行在手机端,开始学习手机端页面开发. 新建index.html,写meta标签.meta标签分为两大部分:http标题信息( ...
- 用jQuery判断一个元素的各种状态
用jQuery判断一个元素是否显示 用jQuery判断一个元素是否显示:$(element).is(":visible"); 类似的,判断一个元素是不是第一个子元素:$(ele ...
- REDIS 主从复制
REDIS目前给出了一个异步的主从复制版本系统.在redis里 提供了几种方式来完成这个工作. 主从复制主要对应在redis/replication.c这个文件里.源码框架里 分为3部分: Mas ...
- android 打开各种文件(setDataAndType)转:
android 打开各种文件(setDataAndType) 博客分类: android-->非界面 android 打开各种文件 setDataAndType action动作 转自:htt ...
- JS中直接从java后台获得对象的值(数组的值)
这里举得例子是:JS直接从后台Contorller中(SpringMVC中的model中)获得数值的值 Contorller 此处将 talentIntegralRecordsDay talentIn ...
- Bullet核心类介绍(Bullet 2.82 HelloWorld程序及其详解,附程序代码)
实验平台:win7,VS2010 先上结果截图: 文章最后附有生成该图的程序. 1. 刚体模拟原理 Bullet作为一个物理引擎,其任务就是刚体模拟(还有可变形体模拟).刚体模拟,就是要计算预测物体的 ...
- 使用第三方框架vapor和swift 搭建本地服务器
在网上看到一篇教程,使用vapor搭建服务端,自己记录下来备忘本文主要记录以下几点 1.配置好Vapor 2.用Swift写GET,POST方法,返回JSON数据 3.配置本地服务器,编译运行在浏览器 ...