/// <summary>
/// 适用于初始化新实体
/// </summary>
static public T RotationMapping<T, S>(S s)
{
T target = Activator.CreateInstance<T>();
var originalObj = s.GetType();
var targetObj = typeof(T);
foreach (PropertyInfo original in originalObj.GetProperties())
{
foreach (PropertyInfo t in targetObj.GetProperties())
{
if (t.Name == original.Name)
{
t.SetValue(target, original.GetValue(s, null), null);
}
}
}
return target;
}
/// <summary>
/// 适用于没有新建实体之间
/// </summary>
static public T RotationMapping<T, S>(T t, S s)
{
var originalObj = s.GetType();
var targetObj = typeof(T);
foreach (PropertyInfo sp in originalObj.GetProperties())
{
foreach (PropertyInfo dp in targetObj.GetProperties())
{
if (dp.Name == sp.Name)
{
dp.SetValue(t, sp.GetValue(s, null), null);
}
}
}
return t;
}
        static public void AutoMapping<S, T>(S s, T t)
{
PropertyInfo[] pps = GetPropertyInfos(s.GetType());
Type target = t.GetType(); foreach (var pp in pps)
{
PropertyInfo targetPP = target.GetProperty(pp.Name);
object value = pp.GetValue(s, null); if (targetPP != null && value != null)
{
targetPP.SetValue(t, value, null);
}
} } static public PropertyInfo[] GetPropertyInfos(Type type)
{
return type.GetProperties(BindingFlags.Public | BindingFlags.Instance);
}

C# 对象互转的更多相关文章

  1. Json与Java对象互转之Gson学习

    Json与Java对象互转之Gson学习 请尊重他人的劳动成果.转载请注明出处:Json与Java对象互转之Gson学习         我曾在<XML,Object,Json转换之浅析Xstr ...

  2. jQuery 对象与Dom 对象互转

    jQuery 对象与Dom 对象互转: $obj --[i],get(i)-->obj --$(obj)-->$obj; obj--$($(obj))-->$obj,多包装了也是$o ...

  3. JQuery语法 JQuery对象与原生对象互转 文档就绪函数与window.onload的区别

    [JQuery语法] 1.jQuery("选择器").action();通过选择器调用事件函数,但是jquery中,jquery可以用$(“选择器”).action();   ① ...

  4. DOM对象和JQuery对象互转

    实现点击某一个单元格,将单元格内部的sql提交执行: <td onclick="submitSqlExecute(this)">...<span>${ctx ...

  5. Delphi中JSon SuperObject 使用:数据集与JSON对象互转

    在delphi中,数据集是最常用数据存取方式.因此,必须建立JSON与TDataSet之间的互转关系,实现数据之间通讯与转换.值得注意的是,这只是普通的TDataset与JSON之间转换,由于CDS包 ...

  6. json字符串与java对象互转

    在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好, ...

  7. java中map和对象互转工具类的实现示例

    在项目开发中,经常碰到map转实体对象或者对象转map的场景,工作中,很多时候我们可能比较喜欢使用第三方jar包的API对他们进行转化,而且用起来也还算方便,比如像fastJson就可以轻松实现map ...

  8. 使用Dom4j、反射自定义实现xml与java对象互转

    一.前言 国庆假期临近,工作动力不强.所以写几篇之前项目中自己用到的一些可能有用的东西分享出来. 今天分享的是Xml与javaBean互转的自定义实现. 先说几种我知道的Xml与javaBean互转的 ...

  9. Android开发中的Json字符串与复杂的嵌套对象互转。

    Gson 可能是大家都觉得比较简单吧.我发现用JSONObject和网上下载的JSONHelper类使用起来很无语,只能解析简单的单层对象,如果有嵌套的就不能直转转成可用对象了.所以网上找了一会儿,发 ...

  10. Java JSON、XML文件/字符串与Bean对象互转解析

    前言      在做web或者其他项目中,JSON与XML格式的数据是大家经常会碰见的2种.在与各种平台做数据对接的时候,JSON与XML格式也是基本的数据传递格式,本文主要简单的介绍JSON/XML ...

随机推荐

  1. qt 2D绘图技巧

    2D绘图 Qt4中的2D绘图部分称为Arthur绘图系统.它由3个类支撑整个框架,QPainter,QPainterDevice和QPainterEngine.QPainter用来执行具体的绘图相关操 ...

  2. python pip 安装插件权限问题及 指定pip国内镜像源

  3. oracle数据库的存储原理

    表空间,oracle逻缉存储结构,表空间下包含一个或者多个物理的文件存储.所有用户对象存放在表空间中.与系统有关的对象存放在系统表空间中. 数据库的作用就是实现对数据的管理和查询.任何一个数据库系统, ...

  4. OpenJudge计算概论-数字求和

    /*========================================================= 数字求和 总时间限制: 1000ms 内存限制: 65536kB 描述 给定一个 ...

  5. PHP无限级树形结构算法(递归和引用)

    测试数组 $array = [ [, , 'name' => '这是主类'], [, , 'name' => '这是主类'], [, , 'name' => '父级为1子类'], [ ...

  6. keras Model 3 共享的层

    1 入门 2 多个输入和输出 3 共享层 考虑这样的一个问题:我们要判断连个tweet是否来源于同一个人. 首先我们对两个tweet进行处理,然后将处理的结构拼接在一起,之后跟一个逻辑回归,输出这两条 ...

  7. 论文翻译 DOTA:A Large-scale Dataset for Object Detection in Aerial Images

      简介:武大遥感国重实验室-夏桂松和华科电信学院-白翔等合作做的一个航拍图像数据集 摘要: 目标检测是计算机视觉领域一个重要且有挑战性的问题.虽然过去的十几年中目标检测在自然场景已经有了较重要的成就 ...

  8. JavaScript——closures(待续)

    问答原文:How do JavaScript closures work?

  9. 阶段5 3.微服务项目【学成在线】_day17 用户认证 Zuul_16-网关-过虑器

    4.5 过虑器 Zuul的核心就是过虑器,通过过虑器实现请求过虑,身份校验等. 4.5.1 ZuulFilter 自定义过虑器需要继承 ZuulFilter,ZuulFilter是一个抽象类,需要覆盖 ...

  10. PHP上传文件 Error 6解决方法 (转)

    按:我采用phpstudy2016,编辑php.ini ,“upload_tmp_dir没放开,直接放开,并指向 /tmp 就OK 上传文件,$_FILES["file"][&qu ...