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