EnumRemarkAttribute,获取属性值
2024-09-12 20:07:02
首先自定义一个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
最新文章
- Excel 实用技巧之一
- Android开发--TableLayout的应用
- 如何去掉Eclipse里面自动追加的一些注释!!!内详
- ABAP 权限程序
- Jquery dialog属性
- IOCP简单实现
- 《转载》三年建站之路走得一事无成 今来A5撞墙反思
- hdu 4883 思维题
- 刘汝佳 算法竞赛-入门经典 第二部分 算法篇 第五章 3(Sorting/Searching)
- 【字符串排序,技巧!】UVa 10905 - Children’s Game
- 通过WebApi取出XML数据
- ubuntu14.04 qt4开发环境搭建(vnc use gnome)
- BZOJ 3446: [Usaco2014 Feb]Cow Decathlon( 状压dp )
- 【ASP.NET Web API教程】1 ASP.NET Web API入门
- hashcode-equals方法
- [Swift]LeetCode150. 逆波兰表达式求值 | Evaluate Reverse Polish Notation
- Django的model form组件
- nodejs使用log4js记录日志
- Android-fragment的替换
- javascript解决getElementById()的bug以及getElementsByClassName的兼容性写法
热门文章
- 关于HttpURLConnection.setFollowRedirects
- window上利用pip安装pandas
- 一口气从CSS讲到Servlet再到JSP、Struts2,清蒸JavaWeb的前前后后。
- storm 源码笔记
- MySQL中的information_schema数据库详解
- 深入理解css系列:清除浮动
- Git 的深入理解与GitHub托管服务(转)
- 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。此 RPC 请求中提供了过多的参数。最多应为 2100
- .NET 操作XML
- study java language