同一种类型的两个对象赋值,用反射。再也不用点属性了。。。。(适用于ef)
/// <summary>
/// 给对象赋值的方法(不赋地址)(同一个类型),含过滤
/// </summary>
/// <typeparam name="T"><peparam>
/// <param name="left">=号左边</param>
/// <param name="right">=号右边</param>
/// <param name="id">过滤条件</param>
public static void Assignment<T>(T left, T right, string id=null)
{
Type type = left.GetType();
List<PropertyInfo> pList = type.GetProperties().ToList();
for (int i = ; i < pList.Count; i++)
{
//根据属性名获得指定的属性对象
PropertyInfo gc = type.GetProperty(pList[i].Name);
//设置属性的值
if (id != null)
{
if (pList[i].Name != id)
{
gc.SetValue(left, pList[i].GetValue(right, null), null);
}
}
else
{
gc.SetValue(left, pList[i].GetValue(right, null), null);
} }
}
同一种类型的两个对象赋值,用反射。再也不用点属性了。。。。(适用于ef)的更多相关文章
- 万能的Entry,两个变量的Model/JavaBean再也不用写了!
前言 很多时候传数据需要只含两个变量的Model/JavaBean,但就为了两个变量去写一个Model/JavaBean实在是麻烦,而且类型固定重用性低.比如: 1.网格显示的头像-名称 需要 Str ...
- 官网安装Python包太慢?教你三种下载安装方式-PiP、conda、轮子,教你三种Pytorch的下载安装方式,保证你再也不用出现Error
上一期我们介绍了CUDA下载安装以及其总结,这一期教大家如何在Anaconda中使用CUDA来进行加速.神经网络依赖cuDNN的下载安装,以及下载和安装Pytorch-GPU安装包的三种方式(cond ...
- 将一个对象赋值给另一个对象(使用element CheckBox中length报错)
注意两个对象相似(比如form表单),千万不要直接赋值(会把对象的属性也变化),很容易漏掉一些属性.比如此次CheckBox报length的错误,就是因为用于存放checkbox复选框选项的数组进过赋 ...
- JavaScript中两种类型的全局对象/函数【转】
Snandy Stop, thinking is the essence of progress. JavaScript中两种类型的全局对象/函数 这里所说的JavaScript指浏览器环境中的包括宿 ...
- Spring 让 LOB 数据操作变得简单易行,LOB 代表大对象数据,包括 BLOB 和 CLOB 两种类型
转自:https://www.ibm.com/developerworks/cn/java/j-lo-spring-lob/index.html 概述 LOB 代表大对象数据,包括 BLOB 和 CL ...
- 检测对象类型的两种方式,constructor属性和instanceof
//本例是为了记录检测对象类型的两种方式,即constructor属性和instanceof操作符.详见<高三>P145 function Person(name, age, ...
- JavaScript中两种类型的全局对象/函数
这里所说的JavaScript指浏览器环境中的包括宿主环境在内的. 第一种是ECMAScript Global Object,第二种是宿主环境(Host)下的全局对象/函数. 一.核心JavaScri ...
- Object.assign()和解构赋值:给对象赋值的两种方法
一.Object.assign()方法给对象赋值 Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象分配到目标对象.它将返回目标对象. 拷贝的是属性值 如果目标对象中的属性 ...
- HTML5的渐变色 渐变的两种类型 createLinearGradient 和createRadialGradient
今天又再看了html5的颜色渐变API,发现没有第一次看那么复杂. 不过我对这个颜色渐变存在着一个疑惑就是两种色带之间,那段是属于两种颜色混合的,有点模糊. 比如从红色变成黄色,在红与黄之间的那个地方 ...
随机推荐
- Mybatis(四):MyBatis核心组件介绍原理解析和源码解读
Mybatis核心成员 Configuration MyBatis所有的配置信息都保存在Configuration对象之中,配置文件中的大部分配置都会存储到该类中 SqlSession ...
- linux内存管理之DMA
说起DMA我们并不陌生,但是实际编程中去用的人不多吧,最多就是网卡驱动里的环形buffer,再有就是设备的dma,下面我们就分析分析. DMA用来在设备内存和内存之间直接数据交互.而无需cpu干预 ...
- 限制 nuget 更新包的版本号
今天在搜索其它问题的时候,突然发现一个使用 nuget 的小技巧. 因为浏览器兼容性的问题,很多网站项目引用的 jQuery 组件版本需要保持在 2.0 以下,因为 2.0 以上需要现代浏览器的支持, ...
- mysql部分学习心得(入门级别)
mysql中针对不同的数据选择对应的存储引擎 mysql中也会针对不同的数据处理选择对应的存储的引擎 mysql中也会针对不同的数据处理选择对应的存储的引擎 mysql中一些授权(grant)等的通常 ...
- mongodb学习笔记之索引(转)
一.索引基础: MongoDB的索引几乎与传统的关系型数据库一模一样,这其中也包括一些基本的优化技巧.下面是创建索引的命令: > db.test.ensureIndex({" ...
- 解决Java连接MySQL存储过程返回参数值为乱码问题
先说MySQL的字符集问题.Windows下可通过修改my.ini内的 [mysql] default-character-set=utf8 //客户端的默认字符集 在MySQL客户端工具中输入 ...
- [转帖]Cocos2d-x 3.0rc0 的Win32工程添加CocoStudio库
转自 http://www.cocoachina.com/bbs/read.php?tid=194668 前天, 在CocoaChina 2014春季大会上, 激动人心的Cocos2d-x 3.0和C ...
- gulp入门与一些基本设置
这里是gulp入门的一些操作,实现了编译sass文件.压缩.合并.添加版本号等基本功能. 友情提示,如果npm出现无法下载可以安装 cnpm.在安装完Nodejs 后 npm install cnpm ...
- .balignl 16,0xdeadbeef浅析
http://zqwt.012.blog.163.com/blog/static/12044684201031102956976/ 最近在分析u-boot的源代码,看到这一行: .bal ...
- 一款html5和css3实现的小机器人走路动画
之前介绍了好多款html5和css3实现的动画,今天要给大家带来一款html5和css3实现的小机器人走路动画.该实例的人物用html5绘画的,动画效果是html5和css3实现的.一起看下效果图. ...