C#里面经常会用到枚举类型,枚举是值类型对象,如果你想用枚举类型的多属性特性,或者你想在MVC页面上通过简单的值类型转换,将某字段值所代表的含义转换为文字显示,这时候必须要将枚举扩展,是它支持文本描述属性,或者显示名称属性,亦或者多语言支持.例如同一个值类型的字段值,你想让它显示中文描述,英文描述……   请看下面的扩展示例:   using System; using System.Collections.Generic; using System.Linq; using System.Ref…
System.ComponentModel命名空间下有个名为DescriptionAttribute的类用于指定属性或事件的说明,我所调用的枚举值描述信息就是DescriptionAttribute类的Description属性值. 首先定义一个枚举 /// <summary>    /// 测试用的枚举    /// </summary>    public enum ArticleTypeList    {        [DescriptionAttribute("…
新建一个控制台方法,写好自己的枚举类型: 如图: 在里面添加获取描述的方法: 具体源码: 链接:http://pan.baidu.com/s/1nv4rGkp 密码:byz8…
一. DescriptionAttribute的普通使用方式 1.1 使用示例 DescriptionAttribute特性可以用到很多地方,比较常见的就是枚举,通过获取枚举上定义的描述信息在UI上显示,一个简单的枚举定义: public enum EnumGender { None, [System.ComponentModel.Description("男")] Male, [System.ComponentModel.Description("女")] Fem…
网上找的,还比较实用的: using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace Dapper.Tool { /// <summary> /// 枚举扩展方法类 /// </summary…
using System;using System.Collections;using System.Collections.Generic;using System.Linq;using System.Text;using System.Runtime.Serialization.Json;using System.IO;using System.Data;using System.ComponentModel;using System.Web.UI.WebControls; namespac…
转:http://www.cnblogs.com/IPrograming/archive/2013/05/26/Enum_DescriptionAttribute.html [点滴积累]通过特性(Attribute)为枚举添加更多的信息   特性(Attribute)是将额外数据关联到一个属性(以及其他构造)的一种方式,而枚举则是在编程中最常用的一种构造,枚举本质上其实是一些常量值,相对于直接使用这些常量值,枚举为我们提供了更好的可读性.我们知道枚举的基础类型只能是值类型(byte.sbyte.…
using System; using System.Collections.Generic; using System.Collections.Specialized; using System.ComponentModel; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Prog…
一般情况我们会用枚举类型来存储一些状态信息,而这些信息有时候需要在前端展示,所以需要展示中文注释描述. 为了方便获取这些信息,就封装了一个枚举扩展类. /// <summary> /// 枚举扩展类 /// </summary> public static class EnumExtension { /// <summary> /// 获取枚举的描述,需要DescriptionAttribute属性 /// </summary> /// <param…
/// <summary> /// 枚举扩展方法 /// </summary> public static class EnumExtension { private static Dictionary<string, Dictionary<string, string>> _enumCache; /// <summary> /// 缓存 /// </summary> private static Dictionary<stri…