У меня есть список класса ниже типаглубокой копия список пользовательского класса
public class Class1
{
public string str1 { get; set; }
public string str2 { get; set; }
public int int1 { get; set; }
public double dbl1{get;set;}
public List<Class2> cls2 { get; set; }
public List<string> str3 { get; set; }
}
, в котором класс 2 является также определенным пользователем класса, как:
public class Class2
{
public string str4{ get; set; }
public Class3 cls2 { get; set; }
}
которого Class3
также является другой пользовательский класс. Мне нужно скопировать List<Class1>
в другой список этого типа без ссылки на первый список.
Я использовал нижеследующие способы, но они не увенчались успехом.
.CopyTo()
кClass1[]
массива, а затем.ToList()
но держать ссылки.ToList()
но держать ссылки- Я использовал способы сериализации и deserializable но класс не может быть сериализации.
Вам просто нужно написать метод. Опционально реализующий интерфейс IClonable. –
Вы счастливы написать метод 'DeepClone()' (или реализовать Copy Constructor) для каждого класса? (Я бы избегал реализации «ICloneable», потому что он не указывает, является ли он глубоким или мелким - и [Microsoft рекомендует его не использовать] (https://msdn.microsoft.com/en-us/library/system. icloneable% 28v = vs.110% 29.aspx).) –