public static void Main(string[] args) { Console.WriteLine("Deep Copy Sample\n"); AuthorForDeepCopy o = new AuthorForDeepCopy(); o.Name = "Sukesh Marla"; o.TwitterAccount = "https://twitter.com/SukeshMarla"; o.Website = "http://www.sukesh-marla.com"; o.HomeAddress = new Address() { City = "Mumbai", State = "Maharastra" }; Console.WriteLine("Original Copy"); Console.WriteLine(o.GetDetails()); AuthorForDeepCopy clonedObject = (AuthorForDeepCopy)o.Clone(); Console.WriteLine("\nCloned Copy"); Console.WriteLine(clonedObject.GetDetails()); Console.WriteLine("\nMake Changes to clone copy address"); clonedObject.Name = "Mr.Changer"; clonedObject.TwitterAccount = "https://twitter.com/MrChanger"; clonedObject.Website = "https://MrChanger.com"; clonedObject.HomeAddress.State = "Karnataka"; clonedObject.HomeAddress.City = "Manglore"; Console.WriteLine("\nCloned Copy"); Console.WriteLine(clonedObject.GetDetails()); Console.WriteLine("\nOriginal Copy"); Console.WriteLine(o.GetDetails()); }
public object Clone() { AuthorForDeepCopy objPriCopy = (AuthorForDeepCopy)this.MemberwiseClone(); objPriCopy.HomeAddress = (Address)this.HomeAddress.Clone(); return(objPriCopy); }