枚举Enum转换为List,获取枚举的描述
代码:
public class EnumberHelper
{
public static List<EnumberEntity> EnumToList<T>()
{
List<EnumberEntity> list = new List<EnumberEntity>(); foreach (var e in Enum.GetValues(typeof(T)))
{
EnumberEntity m = new EnumberEntity();
object[] objArr = e.GetType().GetField(e.ToString()).GetCustomAttributes(typeof(DescriptionAttribute), true);
if(objArr!=null && objArr.Length>)
{
DescriptionAttribute da = objArr[] as DescriptionAttribute;
m.Desction = da.Description;
}
m.EnumValue = Convert.ToInt32(e);
m.EnumName = e.ToString();
list.Add(m);
}
return list;
}
} public class EnumberEntity
{
/// <summary>
/// 枚举的描述
/// </summary>
public string Desction { set; get; } /// <summary>
/// 枚举名称
/// </summary>
public string EnumName { set; get; } /// <summary>
/// 枚举对象的值
/// </summary>
public int EnumValue { set; get; }
}
枚举:
public enum QxItem
{
[Description("查看")]
Show = ,
[Description("新增")]
Add = ,
[Description("编辑")]
Edit = ,
}
获取描述:
/// <summary>
/// 获取枚举的描述
/// </summary>
/// <param name="enumValue"></param>
/// <returns></returns>
public static string GetEnumDescription(Enum enumValue)
{
string value = enumValue.ToString();
FieldInfo field = enumValue.GetType().GetField(value);
//获取描述属性
object[] objs = field.GetCustomAttributes(typeof(DescriptionAttribute), false);
//当描述属性没有时,直接返回名称
if (objs.Length == )
{
return value;
}
DescriptionAttribute descriptionAttribute = (DescriptionAttribute)objs[];
return descriptionAttribute.Description;
}
另外一种:http://www.cnblogs.com/wenjian/archive/2009/06/19/1506550.html
枚举Enum转换为List,获取枚举的描述的更多相关文章
- C#枚举扩展方法,获取枚举值的描述值以及获取一个枚举类下面所有的元素
/// <summary> /// 枚举扩展方法 /// </summary> public static class EnumExtension { private stat ...
- .NET--------枚举扩展方法(枚举转list,获取枚举描述)
/// <summary> /// get enum description by name /// </summary> /// <typeparam name=&qu ...
- Java枚举enum以及应用:枚举实现单例模式
枚举作为一个常规的语言概念,一直到Java5才诞生不得不说有点奇怪,以至于到现在为止很多程序员仍然更喜欢用static final的形式去命名常量而不使用,一般情况下,Java程序员用这种方式去实现枚 ...
- c# 枚举enum
1 定义枚举 enum Days { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday }; 默认情况下,枚举中的每个元素的 ...
- 聊一聊Java的枚举enum
一. 什么是枚举 枚举是一种数据类型,具有集合的一些特点,可以存放多个元素,但存储对象有限且固定,枚举也有比较常见的使用场景,如我们需要表达性别(男.女),颜色(红.黄.蓝),星期(星期一.星期二.. ...
- 【转载】[C#]枚举操作(从枚举中获取Description,根据Description获取枚举,将枚举转换为ArrayList)工具类
关键代码: using System; using System.Collections; using System.Collections.Generic; using System.Compone ...
- C# 获取枚举的描述Description
方法类: public static class EnumExtensions { #region Enum /// <summary> /// 获取枚举变量值的 Description ...
- .NET获取枚举DescriptionAttribute描述信息性能改进的多种方法
一. DescriptionAttribute的普通使用方式 1.1 使用示例 DescriptionAttribute特性可以用到很多地方,比较常见的就是枚举,通过获取枚举上定义的描述信息在UI上显 ...
- C#获取枚举描述代码
public class MusterEnum { /// 获取枚举的描述信息 /// </summary> /// <param name="e">传入枚 ...
随机推荐
- ubuntu16.04 源码安装Python3.7 (可以在此基础上安装Tensorflow) (确保Tensorflow计算框架与系统的彻底隔离)
Python3.7 源码下载: https://www.python.org/downloads/release/python-370/ 解压源码: tar -zxvf Python-3.7.0.tg ...
- Codeforces 1009C: Annoying Present
C. Annoying Present time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
- 公共的Json操作类
using System; using System.Data; using System.Text; using System.Collections.Generic; using System.R ...
- bootstrap class sr-only 什么意思?
bootstrap class sr-only 什么意思? 在看 bootstrap 内联表单时,label 有一个 class 是 sr-only. sr-only 是给屏幕阅读器用的,是给视力不方 ...
- java的堆和栈
初始入门嗯:https://www.cnblogs.com/SaraMoring/p/5687466.html 堆空间:new出来的数组和对象,对象和数组没有引用指向它的时候,等待下一次垃圾回收 栈空 ...
- zipkin:和springcloud集成过程记录
发现全是springcloudapp的名称,然后是springcloudapp(http://localhost:8080/hello/tom)工程单独调用并没有通知zipkin: 原来是因为rest ...
- Web service 框架比较CXF xfire aisx2 aisx
Web 服务框架.它还体现了从 Axis 1.x 系列获得的经验和最近两年在 Web 服务领域的发展.推出 Axis2 的主要原因之一是从速度和内存方面获得更好的性能——不过还添加了一些新特性和功能. ...
- 2018-2019-1 20165226《信息安全系统设计基础》 pwd命令的实现
2018-2019-1 20165226<信息安全系统设计基础> pwd命令的实现 一.学习pwd 查看pwd 得知一个嫩过去文件路径的函数--getcwd i节点值 通过ls -i -a ...
- ROS+OPENVPN配置
环境需求:ROS版本:5.26,OPENVPN版本:OpenVPNPortable1.0.3(下载地址http://sourceforge.net/projects/ovpnp/)在WIN7 X64, ...
- Java利用ScriptEngineManager对计算公式的支持
1.ScriptEngineManager是JDK6提出的相关方法,这方式的主要目的就是用来对脚本语言的处理.这里只是简单介绍一下对我们常用的数学公式的应用. 2.ScriptEngineManage ...