枚举技巧~为枚举加Describe属性,输出枚举元素的说明信息

简介:

这是枚举公用属性类:

#region 枚举属性扩展类

    /// <summary>

    /// 枚举扩展方法

    /// </summary>

    public static class EnumExtensions

    {

        public static string GetDescription(this Enum obj)

        {

            return GetDescription(obj, false);

        }

        public static string GetDescription(this Enum obj, bool isTop)

        {

            if (obj == null)

            {

                return string.Empty;

            }

            try

            {

                Type _enumType = obj.GetType();

                DescriptionAttribute dna = null;

                if (isTop)

                {

                    dna = (DescriptionAttribute)Attribute.GetCustomAttribute(_enumType, typeof(DescriptionAttribute));

                }

                else

                {

                    FieldInfo fi = _enumType.GetField(Enum.GetName(_enumType, obj));

 

                    dna = (DescriptionAttribute)Attribute.GetCustomAttribute(

 

                       fi, typeof(DescriptionAttribute));

                }

                if (dna != null && string.IsNullOrEmpty(dna.Description) == false)

                    return dna.Description;

            }

            catch

            {

                throw;

            }

            return obj.ToString();

 

        }

 

    }

    #endregion

一个普通的枚举

 public enum OpreateType

    {

        [Description("添加")]

        Add = 0,

        Del = 1,

        Update = 2,

        Import = 3,

    }

输出它指定枚举元素的描述信息

  Console.WriteLine(OpreateType.Add.GetDescription());

 本文转自博客园张占岭(仓储大叔)的博客,原文链接:枚举技巧~为枚举加Describe属性,输出枚举元素的说明信息,如需转载请自行联系原博主。

目录
相关文章
|
6月前
详细解读COM中集合和枚举器笔记(2)枚举器内部实现
详细解读COM中集合和枚举器笔记(2)枚举器内部实现
23 0
|
Python
变量的赋值定义分类和类型判断
几乎在所有编程语言当中变量是最先接触语法概念,那么什么是变量,变量应该怎么定义呢,定义变量又该注意哪些因素呢?这里我们来给大家详细聊聊。
变量的赋值定义分类和类型判断
|
开发者
枚举(枚举中定义其它结构)|学习笔记
快速学习 枚举(枚举中定义其它结构)
121 0
|
C++
2015.08.26枚举
 1、枚举:就是将人能是别的字符跟计算机能是别的数据结合起来,就叫枚举;枚举:罗列所有可能的字符,能使用枚举说明这些可能的字符是有限的,而不是无限的。   //枚举不能为空 2、 枚举值所对应的整数数值,如果不给枚举值赋值,以系统为准,默认枚举值是从0开始,如果这是给枚举赋值,它之前的...
732 0
C#枚举显示声明值类型
    枚举声明可以显式地声明 byte、sbyte、short、ushort、int、uint、long 或 ulong 类型作为对应的基础类型。没有显式地声明基础类型的枚举声明意味着所对应的基础类型是 int。
747 0

热门文章

最新文章