Создать экземпляр производного класса из экземпляра базового класса
От: Pek2014 Россия  
Дата: 11.04.17 07:59
Оценка:
Довольно часто мне приходится создавать экземпляр производного класса, имея в
качестве прототипа экземпляр базового класса. При это приходится заниматься
ручным копированием всего состояния (всех свойств) объекта источника
в целевой объект.

Неужели средства языка (или ещё какие-нибудь ухищрения) не позволяют избежать
этой муторной процедуры, особенно принимая во внимание, что копирование
происходит из базового класса в производный?


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
};
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.