博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DataTable转换为Entity(反射&&泛型)
阅读量:5884 次
发布时间:2019-06-19

本文共 1034 字,大约阅读时间需要 3 分钟。

public static IEnumerable
Parse
(IEnumerable
rows) where T : class, new(){ if (rows == null || Enumerable.FirstOrDefault
(rows) == null) return (IEnumerable
) new T[0]; PropertyInfo[] properties = typeof (T).GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetProperty); List
list = new List
(); foreach (DataRow row in rows) { T instance = Activator.CreateInstance
(); DbHelper.Parse((object) instance, (IEnumerable
) properties, row); list.Add(instance); } return (IEnumerable
) list;}private static void Parse(object obj, IEnumerable
properties, DataRow row){ foreach (PropertyInfo propertyInfo in properties) { if (DataRowExtension.HasValue(row, propertyInfo.Name)) { try { propertyInfo.SetValue(obj, DbHelper.ConvertType(CultureInfo.CurrentCulture, row[propertyInfo.Name], propertyInfo.PropertyType), (object[]) null); } } catch{ } }}

转载于:https://www.cnblogs.com/Lulus/p/7905328.html

你可能感兴趣的文章
一致哈希
查看>>
spring3: Bean的作用域
查看>>
MongoDB学习笔记(三)--权限 && 导出导入备份恢复 && fsync和锁
查看>>
[原创]用Charles模拟App各种网络带宽测试介绍
查看>>
Xcode修改项目的Build Location
查看>>
sql server日志不能shrink或truncate
查看>>
15分钟了解Java性能优化以及一切你想知道的(转)
查看>>
洛谷OJ U552 守墓人 线段树模板题
查看>>
微信连WiFi关注公众号流程更新 解决ios微信扫描二维码不关注就能上网的问题...
查看>>
Win7、Ubuntu双系统正确卸载Ubuntu系统
查看>>
Java JVM使用哪种编码格式
查看>>
Linux下memcache的安装和启动(转)
查看>>
postman --发送json请求
查看>>
Linux Shell常用技巧(一) RE
查看>>
linux自己主动重新启动tomcat脚本
查看>>
Ubuntu开机时出现"没有正确安装GNOME电源管理器的默认配置
查看>>
DFS回溯-函数递归-xiaoz triangles
查看>>
js调用soapWebService服务
查看>>
OTA Package Tools
查看>>
JavaWeb学习笔记——jsp:setproperty和getproperty
查看>>