public static void Case0() { var ooo1 = (C1)DeepCloner.DeepClone(new C1()); var ooo2 = (C2)DeepCloner.DeepClone(new C2()); var ooo3 = (C3)DeepCloner.DeepClone(new C3()); LLLC lllc = new LLLC(); lllc.Init(); LLLC ooo4 = (LLLC)DeepCloner.DeepClone(lllc); var arrData = new ArrayData(); ArrayData arrDataCloned = (ArrayData)DeepCloner.DeepClone(arrData); arrDataCloned.MakeChange(); Console.WriteLine(ooo1); Console.WriteLine(ooo2); Console.WriteLine(ooo3); Console.WriteLine(ooo4); }