zoukankan      html  css  js  c++  java
  • C# 获取枚举的特性描述

    枚举

    	public enum EnumOperType
    	{
                [Description("新增")]
    	    Add = 1,
                [Description("修改")]
                Edit,
                [Description("删除")]
                Del
    	}
    

    获取某个描述

            public string GetEnumDescription(Enum enumValue)
            {
                string value = enumValue.ToString();
                FieldInfo field = enumValue.GetType().GetField(value);
                //获取描述属性
                object[] objs = field.GetCustomAttributes(typeof(DescriptionAttribute), false); 
                if (objs == null || objs.Length == 0)  //当描述属性没有时,直接返回名称
                    return value;
                DescriptionAttribute descriptionAttribute = (DescriptionAttribute)objs[0];
                return descriptionAttribute.Description;
            }
    

    获取所有描述

                List<OpType> list = new List<OpType>();
                foreach (var e in Enum.GetValues(typeof(EnumOperType)))
                {
                    // 转换成Description后添加至List
                    object objArr = e.GetType().GetField(e.ToString())
                        .GetCustomAttributes(typeof(DescriptionAttribute), true)[0];
                    var name = (objArr as DescriptionAttribute).Description;
                    OpType opType = new OpType();
                    opType.Key = (int)(EnumOperType)e;
                    opType.Text = name;
                    list.Add(opType);
                }
    

    本文来自博客园,作者:一纸年华,转载请注明原文链接:https://www.cnblogs.com/nullcodeworld/p/15222983.html

  • 相关阅读:
    js-artDialog文档说明
    T-SQL数据库函数
    强大的Jquery对象选择器
    学习正则表达式
    经典正则
    其他常用的正则表达式
    celery的使用
    django中间件
    AJAX
    Django Form表单组件
  • 原文地址:https://www.cnblogs.com/nullcodeworld/p/15222983.html
Copyright © 2011-2022 走看看