Глубокое клонирование объектов

Я хочу сделать что-то вроде:

MyObject myObj = GetMyObj(); // Create and fill a new object
MyObject newObj = myObj.Clone();

А затем внести изменения в новый объект, которые не отражены в исходном объекте.

Мне часто не нужны эти функции, поэтому, когда это было необходимо, я прибегал к созданию нового объекта, а затем копировал каждое свойство по отдельности, но это всегда оставляло у меня ощущение, что есть лучший или более элегантный способ обработки ситуация.

Как я могу клонировать или глубоко копировать объект, чтобы клонированный объект мог быть изменен без каких-либо изменений, отраженных в исходном объекте?

Ответы на вопрос(29)

Ваш ответ на вопрос