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企业应用研发
查看全文
相关阅读:
解决 .net Core 3.1中使用GB2312编码异常
sql server datetime类型字段使用isnull返回1900-01-01 00:00:00.000的问题
c# – 从.NET中的字符串获取url参数
fastjson对象,JSON,字符串,map之间的互转
Java工具:Java递归去除Json字符串空值(key和value)
vue运行报错 ‘vue-cli-service‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
java调用CTP API坑【我】
SpringBoot在logback.xml中读取application.properties中配置的日志路径
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com【我】
springboot mybatis-plus分页配置不生效【我】
原文地址:https://www.cnblogs.com/syveen/p/297176.html
最新文章
rtmp测试流地址
vue中前端导出excel表,使用Export2Excel导出多级表头的表格
Vue 使用Export2Excel导出excel、使用xlsx导入excel
el-input-number 组件无法修改默认值为空
PostgreSQL的pg_stat_bgwriter视图
PostgreSQL的内存结构和调优
PostgreSQL的内存利用率高时如何检查
如何调整PostgreSQL的 Out-Of-Memory Killer设置
postgresql的effective_cache_size
MySQL的binlog_row_image和PostgreSQL的full_page_writes
热门文章
PostgreSQL备份和还原的简单测试
PostgreSQL事务中的时间
PostgreSQL的Access control lists
PostgreSQL auto_explain模块
深入SQL截取字符串(substring与patindex)的详解
IDENT_CURRENT
excel最大行数各版本介绍
HtmlAgilityPack 解析Html
dynamic取属性及添加属性
递增、递减运算符位于变量前后的区别
Copyright © 2011-2022 走看看