C#项目优化
2014-10-14 10:11
162 查看
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; }
相关文章推荐
- C#大型电商项目优化(三)——扩展性与支付
- 群蚁算法理论与实践全攻略——旅行商等路径优化问题的新方法【附C#群蚁算法完整项目代码】
- C# 大型电商项目性能优化(一)
- [置顶]群蚁算法理论与实践全攻略——旅行商等路径优化问题的新方法【附C#群蚁算法完整项目代码】
- 群蚁算法理论与实践全攻略——旅行商等路径优化问题的新方法【附C#群蚁算法完整项目代码】
- C#编译器优化那点事 c# 如果一个对象的值为null,那么它调用扩展方法时为甚么不报错 webAPI 控制器(Controller)太多怎么办? .NET MVC项目设置包含Areas中的页面为默认启动页 (五)Net Core使用静态文件 学习ASP.NET Core Razor 编程系列八——并发处理
- C#大型电商项目优化(二)——嫌弃EF与抛弃EF
- 【C#】项目优化实战
- C# 代码标准 .NET2.0版(三)项目设置和结构
- asp.net(C#)空白项目
- 创建了个C#开源项目-FileCopier
- c#中指针的速度优化
- C#项目中*.designer.cs 是什么文件
- C# Web项目开发第一阶段沉思录
- C#项目版本信息
- [开发语言]C#项目如何制作安装程序
- C#对switch语句的优化
- 朋友公司招聘1名项目经理和两名asp.net(c#)程序员
- C#开发小技巧--对Text控件增量赋值的代码优化
- 开放式开发/开源项目-TimeDog[C#WindowsApp]