开发者社区> mcy247> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

枚举技巧~为枚举加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属性,输出枚举元素的说明信息,如需转载请自行联系原博主。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
typescript30-any类型
typescript30-any类型
16 0
你所不知道的 CSS 动画技巧与细节
怕标题起的有点大,下述技巧如果你已经掌握了看看就好,欢迎斧正,本文希望通过介绍一些 CSS 不太常用的技巧,辅以一些实践,让读者可以更加深入的理解掌握 CSS 动画。 废话少说,直接进入正题,本文提到的动画不加特殊说明,皆指 CSS 动画。
1538 0
论文引用信息
这里上不了 mathscinet, 就保存下了.   @article {MR3598586,     AUTHOR = {Ye, Zhuan and Zhang, Zujin},      TITLE = {A remark on regularity criterion for the ...
792 0
SalesForce 记录级别安全性
对象级安全性 简档 对象级安全性提供了控制 Salesforce.com 中数据的最简单方式。使用对象级安全性 您可以防止用户查看、创 建、编辑或删除特殊类型对象的任何实例 如潜在客户或业务机会。对象级安全性使您能够对特定用户隐藏整 个选项卡和对象 使他们甚至不知道此类数据的存在。
852 0
+关注
mcy247
做自己的太阳 无需凭借谁的光
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载