[转]一个简单的反射拷贝一份新的实体类
【IT168技术文档】
有时候我们需要复制一个实体类,而又不希望两个使用同一个内存地址,我用了很简单的反射来实现这种功能:
/** <summary> /// 设置实体对象的修改属性 /// </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()方法.
现在有不少架构直接使用自动代码生成器,也可以不使用反射直接每个属性值进行拷贝亦可。
转载于:https://www.cnblogs.com/mrchenzh/archive/2010/05/31/1747953.html
[转]一个简单的反射拷贝一份新的实体类相关推荐
- 一个简单的反射拷贝一份新的实体类
有时候我们需要复制一个实体类,而又不希望两个使用同一个内存地址,我用了很简单的反射来实现这种功能:) /**//// <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江湖侠士,算法与数据结构为必修之课.早有前辈已经明确指出:程序=算法+数据结构 .要想在之后的江湖历练中通关,数据结构必不可少.数据 ...
- wps流程图导出不清楚_一份清晰的“流程图”,无需专业软件,一个简单Word轻松搞定...
制作流程图前我们需要三个准备,但当我们所有准备完成后,就是一定要亲自去实操,否则只能是空想,在实际操作时却不知道该从何入手,就好比现在自己需要画一个简单的流程图,应该在哪里操作呢? 一般情况分为两种, ...
最新文章
- linux管道的执行顺序
- golang中的消息认证
- mybaits八:select查询返回map集合
- close和shutdown的区别
- 骚操作!用Python自动下载抖音美丽小姐姐(有对象的同学小心尝试!)
- std::ostream_iterator、std::cout、std:copy实现输出
- qt开发环境 - 丁林松教程,丑陋的计算器
- iOS持久化存储-CoreData简介
- Spring Security3源码分析-http标签解析(转)
- 交叉渡线道岔规格_交叉渡线铁路道岔的型号及选用
- php公众号客服消息图文,微信公众号开发系列-发送客服消息(示例代码)
- jQuery jsonp跨域请求
- Linux网络实时流量监测工具iftop的安装使用
- linux下socket调试,linux 下的socket 调试工具 netcat 使用
- 【BIRT】02_开发一张简单的报表
- Android-HelloWorld
- Open Source Drives IOT From Device to Edge
- 2018软工个人总结
- 服务器80端口找不到,如何查询服务器80端口被关闭
- 分析报告 | 在线教育APP的市场到底有多大?
热门文章
- MC34063组成DC-DC电路
- 正则表达式 (re包)——python(快餐)
- PHP正则表达式怎么匹配多行
- 【JavaEE企业应用实战学习记录】struts配置文件详细解析
- [转]C#读写xml文件
- 使用IKE预共享密钥配置IPsec
- linux bash shell之变量替换::=句法、=句法、:-句法、-句法、=?句法、?句法、:+句法、+句法
- android系统sharedUserId: SYSTEM_UID+PHONE_UID+BLUETOOH_UID+LOG_UID+NFC_UID
- 【Android】adb架构(客户端(shell/ddms/adt)+本地服务器+daemon)
- CSS3 box-sizing(content-box:width指内容 border-box:width指border+padding+content)