首页 > 代码库 > 获取枚举类型的描述description

获取枚举类型的描述description

using System;using System.Collections.Generic;using System.ComponentModel;using System.Linq;using System.Reflection;using System.Text;using System.Threading.Tasks;namespace candel{    class Program    {        static void Main(string[] args)        {            int x = (int)OrderType.WaitConfirm;            string str = Util.GetEnumDesc(typeof(OrderType), x);            Console.WriteLine(str);            Order o = new Order() { Id = 1, Type = (int)OrderType.Complete };            string str2 = (typeof(OrderType)).GetEnumDesc(o.Type);            Console.WriteLine(str2);            Console.Read();        }    }    public class Order    {        public int Id { set; get; }        public int Type { set; get; }    }    public enum OrderType    {        /// <summary>        /// 等待用户付款        /// </summary>        [Description("等待用户付款")]        WaitPay = 0,        /// <summary>        /// 等待商家发货        /// </summary>        [Description("等待商家发货")]        WaitSend = 1,        /// <summary>        /// 等待用户确认收货        /// </summary>        [Description("等待用户确认收货")]        WaitConfirm = 2,        /// <summary>        /// 订单完成        /// </summary>        [Description("订单完成")]        Complete = 3    }    public static class Util    {        /// <summary>        /// 根据值得到中文备注        /// </summary>        /// <param name="e"></param>        /// <param name="value"></param>        /// <returns></returns>        public static String GetEnumDesc(this Type e, int? value)        {            FieldInfo[] fields = e.GetFields();            for (int i = 1, count = fields.Length; i < count; i++)            {                if ((int)System.Enum.Parse(e, fields[i].Name) == value)                {                    DescriptionAttribute[] EnumAttributes = (DescriptionAttribute[])fields[i].                GetCustomAttributes(typeof(DescriptionAttribute), false);                    if (EnumAttributes.Length > 0)                    {                        return EnumAttributes[0].Description;                    }                }            }            return "";        }    }}

 

获取枚举类型的描述description