Advertisement
Guest User

clonable

a guest
May 2nd, 2016
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.68 KB | None | 0 0
  1. void Main()
  2. {
  3.     var class1 = new MyClass { Data = "class1" };
  4.     var list1 = new List<MyClass> { class1 };
  5.     var list2 = list1.CloneListAndContent();
  6.  
  7.     list2.First().Data = "class2";
  8.  
  9.     list1.First().Data.Dump();
  10.     list2.First().Data.Dump();
  11.  
  12. }
  13.  
  14. public static class MyExtensions
  15. {
  16.     public static List<T> CloneListAndContent<T>(this List<T> list) where T : class
  17.     {
  18.         var clonedList = new List<T>();
  19.         foreach (var element in list)
  20.             clonedList.Add((T)((ICloneable)element).Clone());
  21.         return clonedList;
  22.     }
  23. }
  24.  
  25. public class MyClass : ICloneable
  26. {
  27.     public string Data { get; set; }
  28.  
  29.     public object Clone()
  30.     {
  31.         return new MyClass
  32.         {
  33.             Data = this.Data
  34.         };
  35.     }
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement