示例#1
0
        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());
        }
示例#2
0
        public object Clone()
        {
            AuthorForDeepCopy objPriCopy = (AuthorForDeepCopy)this.MemberwiseClone();

            objPriCopy.HomeAddress = (Address)this.HomeAddress.Clone();
            return(objPriCopy);
        }