В качестве дополнительного ответа вы можете использовать отражение, чтобы скопировать N полей из одного объекта в другой.Я уже говорил об этом здесь: Как это изменить? .
Ваш класс (SomeClass) может реализовывать этот код (оба объекта одного и того же класса):
public void CopyPropertiesFrom(SomeClass SourceInstance)
{
foreach (PropertyInfo prop in typeof(SomeClass).GetProperties())
prop.SetValue(this, prop.GetValue(SourceInstance, null), null);
}
Таким образом, если у вашего класса есть новые свойства, вам не нужно беспокоиться об обновлении кода, он уже есть!
Для объектов с другим классом это также можно сделать с помощью отраженияимя свойства, но есть некоторые предположения, которые вы должны сделать (что, если свойство не существует, какое свойство имеет другой тип, какое значение свойства равно нулю и т. д.)