Я хочу сделать что-то вроде:
MyObject myObj = GetMyObj(); // Create and fill a new object
MyObject newObj = myObj.Clone();
И затем внесите изменения в новый объект, который не отражен в исходном объекте.
Мне не часто нужна эта функциональность, поэтому, когда это было необходимо, я прибегал к созданию нового объекта, а затем копировал каждое свойство по отдельности, но это всегда оставляет мне ощущение, что есть лучшее или более элегантное способ справиться с ситуацией.
Как я могу клонировать или глубоко копировать объект так, чтобы клонированный объект мог быть изменен без каких-либо изменений, отражаемых в исходном объекте?