• 枚举转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
  • 相关阅读:
    PHP通过日志来发现问题
    php环境重启
    排行榜的实现
    git相关使用技巧和问题
    lua State加载部分库
    c++ 解析json
    查看某个进程允许打开的最大文件描述符
    glog安装与使用
    ubuntu update-alternatives
    gcc安装多个版本
  • 原文地址:https://www.cnblogs.com/Linyb/p/4369620.html
Copyright © 2020-2023  润新知