C#利用反射复制实体类
来源:互联网 发布:php网页跳转代码 编辑:程序博客网 时间:2024/06/06 02:02
public static void copyDataFromSourceToTarget<TSource, TTarget>(TSource s, TTarget t, string[] reqItems = null, bool create = false)
where TSource : new()
where TTarget : new()
{
foreach (var p in t.GetType().GetProperties()) // 以目标表为参照对象
{
// 复制到本地变量
var p1 = p;
if (reqItems != null && reqItems.All(w => w != p1.Name)) continue;
var s1 = s.GetType().GetField(p1.Name); // 找到来源实体类的字段信息
if (s1 != null)
{
p1.SetValue(t, s1.GetValue(null), null);
}
else
{
var s2 = s.GetType().GetProperty(p1.Name);
if (s2 == null) continue;
p1.SetValue(t, s2.GetValue(s, null), null);
}
}
}
where TSource : new()
where TTarget : new()
{
foreach (var p in t.GetType().GetProperties()) // 以目标表为参照对象
{
// 复制到本地变量
var p1 = p;
if (reqItems != null && reqItems.All(w => w != p1.Name)) continue;
var s1 = s.GetType().GetField(p1.Name); // 找到来源实体类的字段信息
if (s1 != null)
{
p1.SetValue(t, s1.GetValue(null), null);
}
else
{
var s2 = s.GetType().GetProperty(p1.Name);
if (s2 == null) continue;
p1.SetValue(t, s2.GetValue(s, null), null);
}
}
}
0 0
- C#利用反射复制实体类
- C#反射实体类
- c# 利用反射动态给实体类对象赋值
- c# 利用反射动态给实体类对象赋值
- C#利用反射给实体属性赋值
- 利用反射将数据读入实体类
- 利用反射实现实体类自动赋值
- C#利用反射+特性实现简单的实体映射数据库操作类
- 利用c#反射实现实体类生成以及数据获取与赋值
- C#利用委托反射将DataTable转换为实体集
- C#利用反射实现两个类的对象之间相同属性的值的复制
- 利用反射实现类的复制
- 利用反射复制数据
- C# DataReader反射获取实体类(model) & 实体类反射获取Dictionary2009-09-22 15:49
- 利用反射将DataRow转换为实体类
- 利用反射获得满足相应条件的实体类
- java利用反射解析xml到实体类
- 利用JDBC ResultSetMetaData 将数据反射到实体类中
- 斯坦福cs224d(深度学习在自然语言处理上的应用)Lecture 2
- UVA1622 机器人
- 中国移动一级业务支撑系统多Kubernetes集群PaaS平台实践经验分享
- BlockCanary — 轻松找出Android App界面卡顿元凶
- mongodb
- C#利用反射复制实体类
- 史上最全的maven pom.xml文件教程详解
- 2014预赛第一题
- mysql 查看binlog日志
- UVA 315 无向图 求割点
- Chukwa搭建、安装、部署、应用
- 内存映射文件
- KJFrameForAndroid 资料——KJHttp使用方法
- 机器学习入门