от iCloneable, который в свою очередь содержит List<ProjectItemGroupCell> projectRows, который так же наследуется от iCloneable. В каждом классе реализован метод Clone, который возвращает this.MemberwiseClone(). В своей функции начинаю клонировать объект в список, затем произвожу изменения в List<ProjectItemGroupCell> projectRows, но изменения так же появляются и в оригинальном классе. Как правильно клонировать список?
в листе лежат не значения а ссылки чтобы клонировать список надо создать новый, а по старому пройтись for/foreach и клонировать каждый объект записав в новый, ну или еще проще listToClone.Select(item => item.Clone()).ToList()
Обсуждают сегодня