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);
            }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值