枚举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">传入枚 ...
随机推荐
- 第十七课 StaticList和DynamicList实现
本节我们要实现StaticList和DynamicList,如下: StaticList的设计要点: StaticList是一个类模板,使用原生数组作为顺序存储空间,使用模板参数决定数组大小 在Sta ...
- BusyBox ifup udhcpc后台运行
/********************************************************************** * BusyBox ifup udhcpc后台运行 * ...
- Libusb学习
1.参考:http://www.cnblogs.com/Daniel-G/archive/2013/04/22/3036730.html https://baike.so.com/doc/506541 ...
- python和C语言互相调用的几种方式
? 1 2 3 4 5 6 7 8 9 版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖.如要转贴,必须注明原文网址 http://www.cnblogs.com/Colin-Cai/ ...
- 使用ndk-stack来查找崩溃
logcat报错 Fatal signal 6 (SIGABRT) at 0x000025c9 (code=-6), thread 9703 (Thread-1277) 都是一些寄存器以及函数地址,真 ...
- LOJ 6485 LJJ 学二项式定理——单位根反演
题目:https://loj.ac/problem/6485 \( \sum\limits_{k=0}^{3}\sum\limits_{i=0}^{n}C_{n}^{i}s^{i}a_{k}[4|(i ...
- vue项目修改favicon
首先你的在你的static文件中添加favicon.icon 然后通过以下方式进行修改 1)方式一:修改index.html文件 <link rel="shortcut icon&qu ...
- 南京邮电大学网络攻防平台——WriteUp(持续更新)
1.签到题 右键查看源代码直接获得flag 2.MD5collision(MD5碰撞) 观察源码发现md51等于QNKCDZO通过MD5加密的结果,使用在线解密发现结果为 0e830400451993 ...
- host is not allowed to connect to this mysql解决方案
报错:1130-host ... is not allowed to connect to this MySql server 解决方法: 1. 改表法. 可能是你的帐号不允许从远程登陆,只能在l ...
- [转]Web前端浏览器兼容
转自: http://www.admin10000.com/document/1900.html 前言 浏览器兼容是前端开发人员必须掌握的一个技能,但是初入前端的同学或者其他后台web开发同学往往容易 ...