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 ...
随机推荐
- ios开发之网络php
接着前面的学习,几天上午学习了数据库网络值php用户的注册与登录,感觉代码与ios上的oc太相似了,因此学习下来没什么障碍了,下面是代码: 首先是javascript.html文件中: <!DO ...
- ios framework 简单制作
在制作过程中遇到的一些问题跟大家分享下,直接上步骤 制作库有分模拟器框架和真机矿机 如果报错x86_64什么的字眼就是库里面没有包含模拟器框架 模拟器:iPhone4s~5 : i386 iPhon ...
- 遗传算法的C语言实现(一):以非线性函数求极值为例
以前搞数学建模的时候,研究过(其实也不算是研究,只是大概了解)一些人工智能算法,比如前面已经说过的粒子群算法(PSO),还有著名的遗传算法(GA),模拟退火算法(SA),蚁群算法(ACA)等.当时懂得 ...
- Spring中配置文件中引用外部文件
src\dayday\conn.java package dayday;import java.sql.Connection;import java.sql.DriverManager;import ...
- em 和 px相互转换
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- alpha值的问题
但凡图像都会涉及到透明度问题.使用透明度之后就可以看到多层图像.Alpha值就是用于描述透明度的参量.Alpha值是一个百分数,alpha=1表示源文件发出的光全部被观察者观察到. 既然是透明度,那么 ...
- 编程等宽字体Source Code Pro(转)
Source Code Pro - 最佳的免费编程字体之一!来自 Adobe 公司的开源等宽字体下载 每一位程序员都有一套自己喜爱的代码编辑器与编程字体,譬如我们之前就推荐过一款"神 ...
- VBS非规范化参考手册(一)
变量类型: 空型:NULL NULL 布尔型:BOOLEN true false 字节型:Byte 0~255 整形:INTEGER -32768~32767 长整形:LONG -2^32~2^31+ ...
- RunLoop笔记
1.Runloop基础知识 - 1.1 字面意思 a 运行循环 b 跑圈 - 1.2 基本作用(作用重大) a 保持程序的持续运行(ios程序为什么能一直活着不会死) b 处理app中的各种事件(比如 ...
- 微信小程序开发技巧及填坑记录
以下是自己在开发过程中遇到的坑和小技巧,记录以下: 1.出现了 page[pages/XXX/XXX] not found.May be caused by :1. Forgot to add pag ...