【发布时间】:2012-01-02 15:36:19
【问题描述】:
我有一个具有各种属性的对象模型 MyObject。在某一时刻,我有两个 MyObject 实例:实例 A 和实例 B。如果实例 B 具有非空值,我想复制实例 A 中的属性并将其替换为实例 B 的属性。
如果我只有 1 个具有 3 个属性的类,没问题,我可以轻松地对其进行硬编码(这是我开始做的)。但我实际上有 12 个不同的对象模型,每个模型大约有 10 个属性。
有什么好的方法可以做到这一点?
【问题讨论】:
-
你有没有尝试过 AutoMapper (automapper.codeplex.com) 之类的东西?
-
显而易见的选择是反射,但你会付出性能代价......
-
看看这个答案;我认为它涵盖了您的情况:stackoverflow.com/questions/571982/…
-
@jondavidjohn:我们在谈论什么样的性能损失?
-
@frenchie 表现:相当显着,但相对而言。这是相同的 IL 方法:stackoverflow.com/questions/7422861/… - 实际上看起来像一个完全相同的副本