public static ToModel DataRowToModel<ToModel>(this DataRow dr) {
//通过反射获取泛型类型
Type type = typeof(ToModel);
//创建目标对象实例
ToModel md = (ToModel)Activator.CreateInstance(type);
//prop代表type.GetProperties()返回的每一个属性
foreach (var prop in type.GetProperties())
{
//这里相当于给md对象中的属性赋值。例如id.set(值),name.set(值)
prop.SetValue(md, dr[prop.Name]);
}
//PropertyInfo[] properties = type.GetProperties();
//for (int i = 0; i < properties.Length; i++)
//{
// PropertyInfo prop = properties[i];
// prop.SetValue(md, dr[prop.Name]);
//}
return md;
}
反射+泛型的使用
最新推荐文章于 2024-10-06 18:37:15 发布
该代码段展示了如何通过C#反射机制,从DataRow中动态创建并填充一个泛型ToModel对象,实现了数据映射功能。
摘要由CSDN通过智能技术生成