• C#项目优化


    1.读取的封装

    public static List<T> ConvertData<T>(SqlDataReader sdr)
         {
             List<T> list = new List<T>();
             Type type = typeof(T);
             PropertyInfo[] properties = type.GetProperties();
             while (sdr.Read())
             {
                 T model = Activator.CreateInstance<T>();
                 for (int i = 0; i < properties.Length; i++)
                 {
                     for (int j = 0; j < sdr.FieldCount; j++)
                     {
                         //判断属性的名称和字段的名称是否相同
                         if (properties[i].Name == sdr.GetName(j))
                         {
                             Object value =sdr[j];
                             //将字段的值赋值给User中的属性
                             properties[i].SetValue(model, value, null);
                         }
                     }
                 }
                 list.Add(model);
             }
             return list;
         }
    
    //调用
    List<User> list = new List<User>();
    SqlDataReader sdr = cmd.ExecuteReader();
    list = ConvertData<User>(sdr);
    /// <summary>
            /// SqlDataReader读取封装对象
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <param name="sdr"></param>
            /// <returns></returns>
            public static T ConvertObject<T>(SqlDataReader sdr)
            {
                Type type = typeof(T);
                PropertyInfo[] properties = type.GetProperties();
                T model = Activator.CreateInstance<T>();
                while (sdr.Read())
                {
                    for (int i = 0; i < properties.Length; i++)
                    {
                        for (int j = 0; j < sdr.FieldCount; j++)
                        {
                            //判断属性的名称和字段的名称是否相同
                            if (properties[i].Name == sdr.GetName(j))
                            {
                                Object value = sdr[j];
                                //将字段的值赋值给T中的属性
                                properties[i].SetValue(model, value, null);
                            }
                        }
                    }
                }
                return model;
            }
  • 相关阅读:
    6)从左到右依次递增,从上到下依次递减的数组
    2)PHP代码运行过程
    1)session总结
    3)ARP到底属于网络层还是链路层
    (2)链表中的一级指针和二级指针的问题
    javascript 封装ajax(多版本)
    javaScript中的两个叹号(!!)
    css获取背景中指定的位置
    解析this.initialize.apply(this, arguments);
    ul中嵌套div导致布局混乱
  • 原文地址:https://www.cnblogs.com/hougelou/p/4023794.html
Copyright © 2020-2023  润新知