zoukankan      html  css  js  c++  java
  • 枚举数据源化

    注意:其中可能使用部分自定义的扩展方法用于类型转换,在使用中需要你自己改一下

        /// <summary>
        /// 枚举管理
        /// </summary>
        public class EnumHandler
        {
            /// <summary>
            /// 获取数据源,需再次转换为DataTable
            /// </summary>
            /// <param name="t"></param>
            /// <returns></returns>
            public static IList<ItemInfo> GetList(Type t)
            {
                if (typeof(Enum) != t.BaseType)
                {
                    throw new Exception(t.Name + "类型参数不合法,当前泛型类的类型参数必须为枚举类型");
                }
                IList<ItemInfo> list = new List<ItemInfo>();
                IList<string> listName = Enum.GetNames(t);
                Array listValue = Enum.GetValues(t);
                int i = 0;
                foreach (int item in listValue)
                {
                    ItemInfo info = new ItemInfo(item.ToString(), listName[i]);
                    list.Add(info);
                    i++;
                }
    
                return list;
            }
    
            /// <summary>
            /// 直接获取枚举类型的数据源 DataTable
            /// </summary>
            /// <param name="t"></param>
            /// <returns></returns>
            public static DataTable GetDataTable(Type t)
            {
                return GetList(t).ToDataTable();
            }
        }
    View Code


    以上使用了自定义的类

        /// <summary>
        /// 自定义辅助元素,供类型转换使用
        /// </summary>
        public class ItemInfo
        {
            public string id;
            public string name = string.Empty;
    
            public ItemInfo() { }
            public ItemInfo(string pId, string pName)
            {
                this.id = pId;
                this.name = pName;
            }
    
            public override string ToString()
            {
                return this.name;
            }
    
            //public static ItemInfo Create(string pName)
            //{
            //    return new ItemInfo(pName, pName);
            //}
    
            public static ItemInfo Create(string pId, string pName)
            {
                return new ItemInfo(pId, pName);
            }
    
        }
    View Code

  • 相关阅读:
    EF ObjectQuery查询及方法
    Entity Framework --Entity SQL注意事项
    EF中Entity SQL用法
    Navicat for Oracle设置唯一性和递增序列
    Oracle添加自增长字段方法步骤
    MVC5项目中添加Wep API
    C#版 Winform界面 Socket编程 Client客户端
    C#版 Winform界面 Socket编程 Server服务器端
    给缺少Python项目实战经验的人
    python模块之collections
  • 原文地址:https://www.cnblogs.com/bingle/p/3379005.html
Copyright © 2011-2022 走看看