Предположим, у вас есть 2 таких класса:
public class ClassA {
public int X { get; set; }
public int Y { get; set; }
public int Other { get; set; }
}
public class ClassB {
public int X { get; set; }
public int Y { get; set; }
public int Nope { get; set; }
}
Теперь представьте, что у вас есть экземпляр каждого класса, и вы хотите скопировать значения из a в b. Есть ли что-то вроде MemberwiseClone, которое могло бы копировать значения, совпадающие с именами свойств (и, конечно, отказоустойчиво - у одного есть получение, а у другого - набор и т. Д.)?
var a = new ClassA(); var b = new classB();
a.CopyTo(b); // ??
Что-то вроде этого довольно просто в a язык вроде JavaScript.
Думаю, ответ отрицательный, но, возможно, есть и простая альтернатива. Я написал для этого библиотеку отражения, но если бы она была встроена в C # /. NET на более низком уровне, вероятно, она была бы более эффективной (и зачем изобретать колесо).