zoukankan      html  css  js  c++  java
  • 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;
            }
  • 相关阅读:
    信号发生器的设计(期末课程设计)
    小程序异步获取openid解决方案
    微信小程序生成二维码之传参(接收的参数乱码该咋解决)
    小程序tabBar,点击进入tabBar刷新tabBar页面
    微信小程序函数执行顺序问题
    RESTful规范与常用状态码
    dedeCMS二次开发api简单接口代码
    DEDECMS怎么获取当前栏目及所有子栏目的文章数量
    DedeCMSV57数据库结构文档(数据字典)
    【JQuery插件】把网页或某div或table表格内容转为图片并下载
  • 原文地址:https://www.cnblogs.com/hougelou/p/4023794.html
Copyright © 2011-2022 走看看