总裁来袭豪门联姻,fdd-2408,奄美彩加
忘了出处 ,这个是转别人的
public class datatolist<t> where t : new()
{
/// <summary>
/// 利用反射和泛型
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public static list<t> converttolist(datatable dt)
{
// 定义集合
list<t> ts = new list<t>();
// 获得此模型的类型
type type = typeof(t);
//定义一个临时变量
string tempname = string.empty;
//遍历datatable中所有的数据行
if (dt != null)
{
foreach (datarow dr in dt.rows)
{
t t = new t();
// 获得此模型的公共属性
propertyinfo[] propertys = t.gettype().getproperties();
//遍历该对象的所有属性
foreach (propertyinfo pi in propertys)
{
tempname = pi.name;//将属性名称赋值给临时变量
//检查datatable是否包含此列(列名==对象的属性名)
if (dt.columns.contains(tempname))
{
// 判断此属性是否有setter
if (!pi.canwrite) continue;//该属性不可写,直接跳出
//取值
object value = dr[tempname];
//如果非空,则赋给对象的属性
if (value != dbnull.value)
pi.setvalue(t, value, null);
}
}
//对象添加到泛型集合中
ts.add(t);
}
}
return ts;
}
}
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Net Core Web Api项目与在NginX下发布的方法
asp.net core3.1 引用的元包dll版本兼容性问题解决方案
IdentityServer4实现.Net Core API接口权限认证(快速入门)
ASP.NET Core MVC通过IViewLocationExpander扩展视图搜索路径的实现
网友评论