zoukankan      html  css  js  c++  java
  • 枚举转List

    将枚举值转为list (name,value) 的形式

            /// <summary>
            /// 获取口味
            /// </summary>
            /// <returns></returns>
            private IList GetTastes()
            {
    
    
                var list = new ArrayList();
                var tastes = typeof(Domain.Model.Enums.Tastes);
                foreach (var i in Enum.GetValues(tastes))
                {
    
                    var value = i;
    
                    var field = i.GetType().GetField(i.ToString());
                    var display = Attribute.GetCustomAttribute(field, typeof(EnumDisplayAttribute)) as EnumDisplayAttribute;
    
                    var name = display == null ? field.Name : display.Name;
                    list.Add(new { name, value });
                }
                return list;
            }
    View Code
     /// <summary>
        /// 标记字段的显示名称的特性  
        /// </summary>
        [AttributeUsage(AttributeTargets.Field, AllowMultiple = false)]
        public sealed class EnumDisplayAttribute : Attribute
        {
            /// <summary>
            /// 显示名称
            /// </summary>
            public string Name { get; private set; }
    
            /// <summary>
            /// 标记字段的显示名称
            /// </summary>
            /// <param name="name">显示名称</param>
            public EnumDisplayAttribute(string name)
            {
                this.Name = name;
            }
        }
    View Code
  • 相关阅读:
    Bridage
    国内项目测试培训笔录和小结
    Proxy
    数据库设计
    PDF转Word
    机务维修成本技术点
    MyEclipse10
    MyEclips:Struts 2 + Hibernate 4 + SQL Server2008
    观察者模式
    javascript事件设计模式
  • 原文地址:https://www.cnblogs.com/Linyb/p/4369620.html
Copyright © 2011-2022 走看看