• C#取枚举描述


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

    public enum Url{

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

        个人博客 1,

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

        网易博客 2,       

        [Description("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 > 0)

                            return ((DescriptionAttribute)attrs[0]).Description;

                    }          

                    return en.ToString();

           }

     

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

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

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

  • 相关阅读:
    使用cocoapods出现问题fetch of the ‘master’ 的解决方法
    说说ASP.NET的表单验证
    php分页类
    php校验
    mySQL时间
    asp .NET弹出窗口 汇总(精华,麒麟创想)
    (转)MVC 3 数据验证 Model Validation 详解
    (转)linux性能优化总结
    (转)ASP.NET缓存全解析6:数据库缓存依赖
    SQL Server是如何让定时作业
  • 原文地址:https://www.cnblogs.com/xtt321/p/4866750.html
Copyright © 2020-2023  润新知