C# 扩展方法

实例:通过扩展方法,获取枚举的描述特性

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Reflection;
using System.Text;

namespace ConsoleApp1
{
    public static class ExHelper
    {
        public static string GetD(this 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;
        }
    }

    public enum MySex
    {
        [Description("")]
        male = 0,
        [Description("")]
        female = 1
    }
}

猜你喜欢

转载自www.cnblogs.com/ligenyun/p/9070293.html