zoukankan
html css js c++ java
一个简单的反射拷贝一份新的实体类
有时候我们需要复制一个实体类,而又不希望两个使用同一个内存地址,我用了很简单的反射来实现这种功能:)
/**/
///
<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()方法.
现在有不少架构直接使用自动代码生成器,也可以不使用反射直接每个属性值进行拷贝亦可。
愿一路奔跑不退缩,到目前一直从事.Net的B/S,C/S企业应用研发
查看全文
相关阅读:
php函数名后冒号(:)+数据类型(返回值类型限制/php新特性)
qBittorrent 任务数
TDDFT软件 octopus 编译
visual studio code, latex workshop, setting.json
Tex插入图片/插入tikz流程图
记录一下讨厌的东西,就当黑名单了
安装mingw-w64
win7 和 win10窗口的小区别
lattice, reciprocal lattice, OUTCAR
v_sim 个人用户编译 无root权限
原文地址:https://www.cnblogs.com/syveen/p/297176.html
最新文章
C# 反射(一)
快快快
Go语言
RESTFUL协议入门介绍
Apache详解:
Sphinx 死文克斯 联合Mysql实现中文全文索引
Linux集群系列之一——集群基础概念
Cookie 和 Session
网站安全,互联网常用攻击方式。
数据库优化
热门文章
排序算法(冒泡,选择,插入,快速)查找算法(二分,快速)
laravel 集合 transform
laravel varchar字段排序
c++递归地输出vector的内容
php文件上传时用到的函数
TCP/IP Illustrated, Volume 1: The Protocols 第一章 学习笔记
初学go时的问题 panic: runtime error: invalid memory address or nil pointer dereference
php 对页面上的标签或按钮置灰
算法导论 第六章 堆排序 6.5-8
解决laravel项目只能访问index.php根目录,其他目录报404错误
Copyright © 2011-2022 走看看