Довольно часто мне приходится создавать экземпляр производного класса, имея в
качестве прототипа экземпляр базового класса. При это приходится заниматься
ручным копированием всего состояния (всех свойств) объекта источника
в целевой объект.
Неужели средства языка (или ещё какие-нибудь ухищрения) не позволяют избежать
этой муторной процедуры, особенно принимая во внимание, что копирование
происходит из базового класса в производный?
public class B
{
public int N {get; set;}
...
public string S {get; set;}
}
public class D : B
{
public double D {get; set;}
}
var b = new B { N = 5, ... S = "A"}
var d = new D
{
N = b.N, // Можно вот это не писать?
...
S = b.S // Можно вот это не писать?
D = 1.5
};