相同的变量名 - 2 个不同的类 - 如何将值从一个类复制到另一个类 - 反射 - C#

2024-02-21

不使用AutoMapper...(因为负责这个项目的人看到依赖关系时会扔砖头)

我有一个类(A 类),具有许多属性。我有另一个具有相同属性(相同名称和类型)的类(B 类)。 B 类还可以有其他不相关的变量。

是否有一些简单的反射代码可以将值从 A 类复制到 B 类?

越简单越好。


Type typeB = b.GetType();
foreach (PropertyInfo property in a.GetType().GetProperties())
{
    if (!property.CanRead || (property.GetIndexParameters().Length > 0))
        continue;

    PropertyInfo other = typeB.GetProperty(property.Name);
    if ((other != null) && (other.CanWrite))
        other.SetValue(b, property.GetValue(a, null), null);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

相同的变量名 - 2 个不同的类 - 如何将值从一个类复制到另一个类 - 反射 - C# 的相关文章

随机推荐

  • 如何将字节数组转换为字符串[重复]

    这个问题在这里已经有答案了 我创建了一个包含两个字符串的字节数组 如何将字节数组转换为字符串 var binWriter new BinaryWriter new MemoryStream binWriter Write value1 bi
  • 快速展开的解决方法

    那么针对这个问题的回答是 Xcode 6 Storyboard Unwind Segue 与 Swift 未连接退出 https stackoverflow com questions 24029586 xcode 6 storyboard
  • 查找 3D 坐标是否已被使用的最快方法

    使用 C 和 Qt 我需要处理大量 3D 坐标 具体来说 当我收到 3D 坐标 由 3 个双精度数组成 时 我需要检查列表是否已处理该坐标 如果没有 那么我处理它并将其添加到列表 或容器 中 坐标量可能会变得非常大 因此我需要将处理后的坐标
  • 在路由定义中间使用贪婪路由参数

    我正在尝试创建遵循树导航系统结构的路线 即我想将树中的整个路径包含在我的路线中 所以如果我有一棵像这样的树 Computers Software 发展 Graphics Hardware CPU 显卡 然后我希望能够有这样的路线 site
  • 在 Spring MVC 控制器中注入 Jaxb2Marshaller

    我正在尝试将静态 xml 转换为控制器类中的 POJO 解组 我正在使用 Jaxb2Marshaller 并在我的中按以下方式进行配置根上下文
  • FactoryGirl 覆盖关联对象的属性

    这可能很简单 但我在任何地方都找不到例子 我有两个工厂 FactoryGirl define do factory profile do user title director bio I am very good at things li
  • 可以覆盖位于 jar 依赖项中的 persistence.xml 中的属性

    我有一个 java ee Web 应用程序 它使用打包为 jar 依赖项 实体类 EJB 存储库 persistence xml 的持久性单元 为了让 Web 应用程序运行一些验收测试 我需要覆盖打包的 persistence xml 中的
  • 如何将 3 位毫秒的因子转换为 R 中的日期时间?

    我这样对 t 对象进行计时 t lt c 2016 10 19 00 00 00 000 我需要转换为 POSIXct 如下所示 as POSIXct t format Y m d H M OS 2016 10 19 EDT 我失去了小时
  • 使用字典查找更新 pandas 列

    有一个数据框 df import pandas as pd import numpy as np i dog cat rabbit elephant 3 df pd DataFrame np random randn 12 2 index
  • 如何在 SQL Server 中导入 DBF 文件

    如何在 SQL Server 中导入 FoxPro DBF 文件 使用链接服务器或使用 openrowset 例如 SELECT into SomeTable FROM OPENROWSET MSDASQL Driver Microsoft
  • 协程和 while 循环

    我一直在研究沿着从 Navmesh Unity3d 获得的路径的对象移动 我正在使用协程 其中我用 while 循环控制它 正如我所展示的 public void DrawPath NavMeshPath pathParameter Gam
  • Stripe - 定期付款中包含的附加发票项目

    我在订阅中添加发票项目时遇到问题 目前我的头撞在墙上 我已经在 stripe 上创建了一个发票项目 并且我希望将发票项目包含在定期付款中 这是我的代码 它在第一张发票上添加发票项目 但不在下一张发票上添加发票项目 new customer
  • 如何自定义表单身份验证 cookie 名称?

    我有 2 个网站在不同端口的本地主机上运行 由于浏览器在发送 cookie 时不区分端口号 因此我的表单身份验证票证从一个站点发送到另一个站点 我该如何解决这个问题 我认为一个好的解决方案是更改表单身份验证票或其中一个网站 但我不知道如何执
  • 如何在浏览器刷新后保持 React 组件状态

    感谢您阅读我的第一个问题 我尝试使用react react router 和 firebase 来使用共享根进行身份验证 所以 我想保留App js的用户状态 但是当我尝试刷新浏览器时 找不到用户状态 我尝试保存到本地存储 但是有没有办法在
  • 使用 ASP.NET AJAX 和更新面板时如何处理视图状态的想法

    这是我编写的一个类 用于解决我在视图状态方面遇到的一些问题 它将信息存储在用户会话中并增加一个值来跟踪要显示的状态 困难在于不支持后退按钮 我最初这样做的原因是 在 AJAX 出现之前 视图状态被发送到客户端而不是存储在服务器上 我认为通过
  • optgroup 标签并选择不重复的选项组[重复]

    这个问题在这里已经有答案了 按类别对项目进行分组是可行的 但它不会将该类别的所有产品放在一个中optgroup但重复它 所有项目应位于一组中 而不是作为重复组分开
  • 使用 mlr3-pipelines 在 GraphLearner 中估算数据和编码因子列?

    我有一些关于 mlr3 pipelines 的使用问题 事实上 我的目标是创建一个结合三个 3 图的管道 1 处理分类变量的图表 水平插补 gt 标准化 imp cat po imputenewlvl param vals list aff
  • 创建日期和 File.Copy 问题

    我正在尝试将文件从一个目录复制到另一个目录 并根据文件创建日期进行测试 File Copy fileName directory fileNameOnly true 当我检查创建日期以确保它不超过 5 天时 我的程序稍后出现了问题 File
  • 如何在使用 xsl 生成的节点上使用 xsl:apply-templates?

    我有一个像这样的xml span Reference Text 1 span
  • 相同的变量名 - 2 个不同的类 - 如何将值从一个类复制到另一个类 - 反射 - C#

    不使用AutoMapper 因为负责这个项目的人看到依赖关系时会扔砖头 我有一个类 A 类 具有许多属性 我有另一个具有相同属性 相同名称和类型 的类 B 类 B 类还可以有其他不相关的变量 是否有一些简单的反射代码可以将值从 A 类复制到