首页 > Windows开发 > 详细

C# 获取枚举的特性描述

时间:2021-09-04 04:13:28      阅读:31      评论:0      收藏:0      [点我收藏+]

枚举

	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);
            }

C# 获取枚举的特性描述

原文:https://www.cnblogs.com/nullcodeworld/p/15222983.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!