• 利用DescriptionAttribute实现枚举字符串


    我们知道定义枚举时是不允许带空格等符号的,这样就不利于进行字符串对比。当然可以通过给枚举添加DescriptionAttribute,然后通过fieldinfo读取DescriptionAttribute来获取字符串。

    以下是例子

    先定义枚举

        /// <summary>
        /// Campaign Mode
        /// </summary>
        public enum CampaignModeEnum
        {
            /// <summary>
            /// Inbound
            /// </summary>
            [DescriptionAttribute("Inbound")]
            Inbound,
            /// <summary>
            /// Outbound Preview
            /// </summary>
            [DescriptionAttribute("Outbound Preview")]
            Outbound_Preview,
            /// <summary>
            /// Outbound Predictive
            /// </summary>
            [DescriptionAttribute("Outbound Predictive")]
            Outbound_Predictive
        }
    

    编写获取DescriptionAttribute的类

        public static class EnumMethod
        {
            public static string StringValue(Enum value)
            {
                FieldInfo fi = value.GetType().GetField(value.ToString());
                DescriptionAttribute[] attributes = (DescriptionAttribute[])fi.GetCustomAttributes(typeof(DescriptionAttribute), false);
                if (attributes.Length > 0)
                {
                    return attributes[0].Description;
                }
                else
                {
                    return value.ToString();
                }
            }
        }
    

      

    这样调用就可以啦!

    EnumMethod.StringValue(CampaignModeEnum.Outbound_Predictive);

      

  • 相关阅读:
    窗口的基本手势事件处理
    用户自定义手势,并识别
    安卓程序国际化,手机屏幕适配器
    排序:冒泡,快排,归并。
    哈夫曼树学习
    二叉树的学习。
    ArrayList和vector的区别
    关于try-catch-finally return 的面试题
    Java中的抽象和封装
    关于SelectedValue的众多解决方案
  • 原文地址:https://www.cnblogs.com/colder/p/3532135.html
Copyright © 2020-2023  润新知