русский
Germany.ruForen → Архив Досок→ Programmierung

C# - быстро склонировать несложный объект

21.10.23 22:51
Re: C# - быстро склонировать несложный объект
 
alex445 коренной житель
in Antwort Срыв покровов 21.10.23 20:59, Zuletzt geändert 21.10.23 22:54 (alex445)
В Repository делаешь функцию T GetInstance() where T : Character и все чистенько без дрочки с серей и десерей.

Я может не понял, что вы сказали, но нужно не ссылку на объект из репы получить, а копию объекта - т.е. скопировать все поля. Т.е. склонировать. Это надо либо вручную писать для всех полей операции копирования, либо через сериализацию-десериализацию автоматически (ну, расставив пару-тройку атрибутов). При этом при изменении состава полей сериализацию проще поддерживать - по сути надо лишь отредактировать конструктор с параметрами. Этот конструктор со всеми параметрами - аналог копировщика из С++.


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

 

Sprung zu