public object Clone() { AuthorForDeepCopy objPriCopy = (AuthorForDeepCopy)this.MemberwiseClone(); objPriCopy.HomeAddress = (Address)this.HomeAddress.Clone(); return(objPriCopy); }
static void Main(string[] args) { Console.WriteLine("Deep Copy Sample\n"); AuthorForDeepCopy o = new AuthorForDeepCopy() { Name = "Düzgün Tutar", TwitterAccount = "https://twitter.com/duzgun", Website = "http://www.duzgun.tutar.com", HomeAddress = new Address() { City = "İstanbul", State = "Maltepe" } }; Console.WriteLine("Original Copy"); Console.WriteLine(o); AuthorForDeepCopy clonedObject = (AuthorForDeepCopy)o.Clone(); Console.WriteLine("\nCloned Copy"); Console.WriteLine(clonedObject); Console.WriteLine("\nMake Changes to clone copy address"); clonedObject.Name = "Ahmet Metin"; clonedObject.TwitterAccount = "https://twitter.com/ahmet"; clonedObject.Website = "https://ahmetmetin.com"; clonedObject.HomeAddress.State = "Karşıyaka"; clonedObject.HomeAddress.City = "İzmir"; Console.WriteLine("\nOriginal Copy"); Console.WriteLine(o); Console.WriteLine("\nCloned Copy"); Console.WriteLine(clonedObject); }