Я ищу способ взять два объекта с одинаковыми свойствами и сделать вызов, чтобы скопировать значения свойств из одного объекта в другой. В приведенном ниже примере предполагается, что у меня есть экземпляр A, и я хочу использовать данные этого экземпляра для гидратации нового экземпляра или C (для краткости, я использовал поля вместо свойств в примере ниже)
public class A : B
{
public string prop1;
public int prop2;
}
public class B
{
public byte propX;
public float propY;
}
public class C
{
public byte propX;
public float propY;
public string prop1;
public int prop2;
}
public class Merger
{
public static object Merge(object copyFrom, object copyTo)
{
//do some work
//maybe <T> generically refactor?
}
}
Класс слияния - это просто псевдо-пример, выполнение этого с помощью дженериков было бы оптимальным, но первое, что я спрашиваю, - существует ли такая возможность. Я мог вообразить, что использовал рефлексию, чтобы сделать это сам, но сначала хотел отбросить это для лучших идей.
Контекст реального мира. На самом деле это проблема, связанная с MVVM, поскольку я пытаюсь использовать разрозненные классы, возвращающиеся из EF, для заполнения экземпляра ViewModel.