我正在尝试与您通常做的相反的方式。
我有两个 POCO 类 A 和 B,其中 B 从 A 继承
public class A
{
public int Foo { get; set; }
}
public class B : A
{
public int Bar { get; set; }
}
B 是对 A 的扩展,带有附加信息。
我首先拥有一个 A 类的实例
A a = new A { Foo = 1 };
然后我希望使用附加信息扩展 A 类中的信息并获得最终的 B 类。我可以将 A 类中的每个属性映射到 B 类中的属性,但这对我来说没有多大意义:
A a = new A { Foo = 1 };
B b = new B { Foo = a.Foo, Bar = 2 };
或者在构造函数中
A a = new A { Foo = 1 };
B b = new B(a) { Bar = 2 }; // Mapping of value Foo is done in constructor of object B
结果是在其他情况下将值从对象 A 手动映射到 B。必须有更聪明的方法来做到这一点......有什么建议吗?