zoukankan      html  css  js  c++  java
  • 枚举初使用

    1,定义一个枚举:

        public enum MatRequireStatus
        {
            /// <summary>
            /// 待处理
            /// </summary>
            [Description("待处理")]
            Pending = 0,
            /// <summary>
            /// 已派单
            /// </summary>
            [Description("已派单")]
            HasBeenSent = 1,
            /// <summary>
            /// 已处理
            /// </summary>        
            [Description("已处理")]
            Processed = 2
        }

    2,使用枚举赋值。

    TransOrder transOrder = new TransOrder()
                {                
                    Status = Convert.ToDouble( MatRequireStatus.Pending)
                };

    3,获取枚举的名称:

                foreach (var item in list)
                {
                    item.StatusDesc = Enum.GetName(typeof(MatRequireStatus), Convert.ToInt32(item.Status));
                }

    4,获取枚举的描述:

    4.1新增方法:

            /// <summary>
            /// 获取枚举值的描述文本
            /// </summary>
            /// <param name="e">枚举值</param>
            /// <returns></returns>
            public string Description(Enum e)
            {
                Type enumType = e.GetType();
                var fieldInfo = enumType.GetFields().FirstOrDefault(a => a.Name == Enum.GetName(enumType, e));
                object[] obj = fieldInfo.GetCustomAttributes(typeof(DescriptionAttribute), false);
                if (obj == null) return null;
    
                DescriptionAttribute des = (DescriptionAttribute)obj[0];
                return des.Description;
            }

    4.2调用方法获取枚举描述:  

    MatRequireStatus mat = MatRequireStatus.Processed;
    var desc= Description(mat);
    或者

    foreach (var item in list)
    {
    item.StatusDesc = Description((MatRequireStatus)Convert.ToInt32(item.Status));
    }

     5,将枚举转换为列表

      代码有点长,有需要的话,我再发。

  • 相关阅读:
    Ldap遇到了事务管理问题
    Spring-Ldap连接Ldap及简单的增删查改
    枚举与数组的使用
    GDI_TCanvas
    获取鼠标当前位置的相对坐标、模拟鼠标点击事件
    绘制不规则图片、窗体与图形
    Message使用
    泛型_Tlist存储对象
    控件Owner和Parent的区别
    鼠标拖放
  • 原文地址:https://www.cnblogs.com/ushou/p/3372443.html
Copyright © 2011-2022 走看看