У меня есть пользовательский объект, который я хочу, чтобы пользователь редактировал, но перед редактированием я хочу сделать резервную копию объекта, который можно использовать для восстановления в случае необходимости.
По сути, у пользователя будет ObjectA, у которого есть вся необходимая информация, он нажимает кнопку «Изменить», резервная копия ObjectA создается как ObjectB, пользователь может вносить изменения в ObjectA, а затем пользователь может нажать «Отмена», чтобы отменить любые изменения. сделано в ObjectA, которая по существу просто заменяет ObjectA резервным объектом, ObjectB.
Какой лучший способ создать новый объект вместо простого создания другой ссылки на объект?
// User has their main object
CustomObject obj = new CustomObject();
// User clicks Edit and a copy of the object is stored in case obj needs to be restored
CustomObject backupObj = obj; // This only creates a reference but I'm not sure how else to show this
// User makes changes to obj but decides to discard those changes and clicks Cancel
obj = backupObj; // obj is restored
// User goes on with the program