C#取枚举描述

一直都觉得枚举是个很不错的东西,可以给我们带来很多方便,而且也增加代码的可读性。 我在之前已经介绍过枚举的简要应用了,再次再来写下怎么获取枚举的描述。 源码如下: 首先,我们定义个含有描述的枚举类型

public enum Url{

    [Description("http://www.thylx.net")]       

    个人博客 1,

    ["http://blog.163.com/thylx133@126/")]

    网易博客 2    ["http://www.8eshare.com/"    八邑分享 3

}

定义完枚举之后,我们来写个通用的方法获取枚举的描述信息

 

 

        /// <summary>

        /// 获取描述信息

</summary>

<param name="en">枚举</param>

<returns></returns>

        public static string GetEnumDes(this Enum en) {

                Type type = en.GetType();

                MemberInfo[] memInfo = type.GetMember(en.ToString());

                if (memInfo != null && memInfo.Length > 0)

                {

                        object[] attrs = memInfo[0].GetCustomAttributes(typeof(System.ComponentModel.DescriptionAttribute), false);

if (attrs != null && attrs.Length >                         return ((DescriptionAttribute)attrs[]).Description;

                }          

                return en.ToString();

       }

 

以上通用方法便可获取到枚举的描述,调用方式如下:

string strValue = GetEnumDes(Url.个人博客);

此时的strValue 变量值为:http://www.thylx.net

相关文章

项目中经常遇到CSV文件的读写需求,其中的难点主要是CSV文件...
简介 本文的初衷是希望帮助那些有其它平台视觉算法开发经验的...
这篇文章主要简单记录一下C#项目的dll文件管理方法,以便后期...
在C#中的使用JSON序列化及反序列化时,推荐使用Json.NET——...
事件总线是对发布-订阅模式的一种实现,是一种集中式事件处理...
通用翻译API的HTTPS 地址为https://fanyi-api.baidu.com/api...