Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void Main()
- {
- var class1 = new MyClass { Data = "class1" };
- var list1 = new List<MyClass> { class1 };
- var list2 = list1.CloneListAndContent();
- list2.First().Data = "class2";
- list1.First().Data.Dump();
- list2.First().Data.Dump();
- }
- public static class MyExtensions
- {
- public static List<T> CloneListAndContent<T>(this List<T> list) where T : class
- {
- var clonedList = new List<T>();
- foreach (var element in list)
- clonedList.Add((T)((ICloneable)element).Clone());
- return clonedList;
- }
- }
- public class MyClass : ICloneable
- {
- public string Data { get; set; }
- public object Clone()
- {
- return new MyClass
- {
- Data = this.Data
- };
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement