• 获取枚举类型的描述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 "";
            }
        }
    }
  • 相关阅读:
    ios中的XMPP简介
    iOS项目开发中的目录结构
    ios中怎么样点击背景退出键盘
    ios中怎么处理键盘挡住输入框
    ios中怎么样调节占位文字与字体大小在同一高度
    ios中怎么样设置drawRect方法中绘图的位置
    ios中用drawRect方法绘图的时候设置颜色
    字符串常见操作
    字典、列表、元组
    字符串查看及应用
  • 原文地址:https://www.cnblogs.com/niunan/p/6073223.html
Copyright © 2020-2023  润新知