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

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

09.10.23 11:21
Re: C# - быстро склонировать несложный объект
 
alex445 коренной житель
in Antwort Программист 09.10.23 08:03, Zuletzt geändert 09.10.23 11:24 (alex445)
В шарпе есть IClonable.

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


Чтобы не забыть клонировать новые поля можно написать юнит-тест и рефлекшенами считать количество (и названия) полей. Этот прием также можно использовать для тестирования Equal.

Что-то невероятно замудрённое. ))


Короче, продолжаю юзать это - не нужно никаких атрибутов дописывать, интерфейсы реализовывать, и вообще ничего не нужно - тупо на любой POCO класс применяется из коробки:

var temp = JsonConvert.SerializeObject(original);

var copy = JsonConvert.DeserializeObject(temp);

 

Sprung zu