一个简单的反射拷贝一份新的实体类
/// 设置实体对象的修改属性
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public void CloneEntityObject(object srcObj, object desObj)
{
if (srcObj.Equals(desObj))
{
return;
}
if (srcObj.GetType() != desObj.GetType())
{
return;
}
System.Reflection.PropertyInfo[] info = srcObj.GetType().GetProperties();
foreach (System.Reflection.PropertyInfo property in info)
{
desObj.GetType().GetProperty(property.Name).SetValue(desObj,
srcObj.GetType().GetProperty(property.Name).GetValue(srcObj, null), null);
}
}
也可以将实体类直接继承ICloneable接口,并用如上方法来实现Clone()方法.
现在有不少架构直接使用自动代码生成器,也可以不使用反射直接每个属性值进行拷贝亦可。
一个简单的反射拷贝一份新的实体类相关推荐
- [转]一个简单的反射拷贝一份新的实体类
[IT168技术文档] 有时候我们需要复制一个实体类,而又不希望两个使用同一个内存地址,我用了很简单的反射来实现这种功能: /** <summary> /// 设置实体对象的修改属性 ...
- Hibernate的多表查询,分装到一个新的实体类中的一个方法
不知道是否还有其他方法实现,请高人指点. 如果涉及到多张表多字段查询,并且想利用查询出来的字段在界面层构建一个新的实体类,可以使用这种方法: 如果查询出来的多字段中,有多个字段的名字都相同(如想查询出 ...
- 如何创建一个简单的API,建议萌新食用。
1.明确思路 API是提供数据的接口,也可以理解为是一个方法,不过这个方法是对外公开的,可以通过Http请求来调用: 我们首先要知道的是数据都是存在数据里面的,所以我们需要一个访问数据的帮助类来提升我 ...
- python映射实体类_【HIBERNATE框架开发之二】第一个HIBERNATE-ANNONATION项目(采用@ENTITY、@ID直接映射实体类)...
紧接上一篇,这里Himi直接copy上一篇创建的HelloHibernate项目,然后改名为:HelloAnnonation,Ok: OK,准备工作: 首先第一步,继续再我们自定义的user libr ...
- 使用反射将req.getParameterMap()赋值给实体类
这是一个将Map<String, String[]> 类型的map集合赋值给一个实体类. 这个map集合是以 map={ key1 = {value1 , value2} ,key2= ...
- C#利用反射将Datatable转化为指定实体类ListT
背景介绍 在软件开发中肯定免不了和数据库打交道,我们对数据的增删改查最终会转化为SQL在数据库中执行.从SQLServer中查出数据一般有两种方式:一是ADO.NET直接写SQL语句从数据中查出数据, ...
- 使用Netty实现的一个简单HTTP服务器
为什么80%的码农都做不了架构师?>>> 使用Netty实现的一个简单HTTP服务器 1.HttpServer,Http服务启动类,用于初始化各种线程和通道 public cl ...
- 程序猿修仙之路--数据结构之你是否真的懂数组? c#socket TCP同步网络通信 用lambda表达式树替代反射 ASP.NET MVC如何做一个简单的非法登录拦截...
程序猿修仙之路--数据结构之你是否真的懂数组? 数据结构 但凡IT江湖侠士,算法与数据结构为必修之课.早有前辈已经明确指出:程序=算法+数据结构 .要想在之后的江湖历练中通关,数据结构必不可少.数据 ...
- 将一个对象相同的属性(不区分大小写)赋值给一个新对象 DataTable的一个简单的扩展...
将一个对象相同的属性(不区分大小写)赋值给一个新对象 1 public static T Mapper<S, T>(S source)2 {3 T t = Activator.Create ...
最新文章
- vuerouter3种模式_Vue-router的三种传参方式
- C++模拟游戏中鼠标点击和键盘按键
- MVC的增删改和Razor
- 数据库时间内接受的是lang类型的时间 分为三种字段 第一种只存日期 第二种存日期+时间 第三种时间戳...
- java和c语言的区别_单片机为什么一直用C语言,不用其他编程语言?只有学过的知道...
- 基于接缝裁剪的图像压缩 算法导论
- python 通过ip获取城市_python 根据ip获取地理位置
- python爬虫好学不_python爬虫好学吗
- java 对文件名非法字符处理
- mysqludf_json将关系数据以JSON编码
- 【iOS】 app 的优化
- LoadRunner 常用函数大全+1
- Android面试题收集(有具体答案)
- Win10 通过重置来修复系统的方法
- ios手机号和邮箱(支付宝账号)脱敏
- JavaScript测试工具对决:Sinon.js vs testdouble.js
- Xshell6 提示要使用此程序,您必须应用最新的更新或使用新版本
- html的img标签repeat,border-image-repeat属性怎么用
- 什么是字母表和串---编译原理
- 独家对话徐翔妻子:我为什么起诉离婚