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企业应用研发
查看全文
相关阅读:
移动应用跨平台之旅
ReactNative之坑爹的在线安装
关于拆箱装箱引发的类型转换报错
Unity HDR (高动态范围 )
Instruments如何看Mono内存分配
Unity编辑器崩溃大全
Unity3D获取手机存储空间
关于构建AssetBundle哈希冲突的问题
关于UnityWebRequest的超时讨论
Wwise音频插件介绍
原文地址:https://www.cnblogs.com/syveen/p/297176.html
最新文章
平衡树——Splay
NOIP 2016 day2
NOIP 2016-day1
About me
图论 从入门到____________
DP 从入门到退役
Splay && LCT
强联通分量
NOIP2016 DAY2
天天爱跑步 题解
热门文章
LUK-Triumphal arch 题解
P4104 [HEOI2014]平衡
explain命令可用来性能优化
SpringBoot多数据源中使用mybatis-plus出现Invalid bound statement (not found)
KETTLE:如何提高传输速度
记一次使用git钩子pre-commit运行python文件时,输出不正确的中文字符
记一次使用弹性布局解决div居中对的问题:所需要居中的div不知道其大小
记一次Flask-SQLAlchemy报错
关于python代码的91个建议
Android开发究竟用什么工具,Eclipse||AS
Copyright © 2011-2022 走看看