Hi Guys
NP60 ICloneable
I got this program from the following website. I wish to know whether ICloneable is a built-in interface. Because following program is executing and producing same result without the following code:
public interface ICloneable
{
object Clone();
}
http://www.c-sharpcorner.com/UploadFile/rmcochran/chsarp_memory401152006094206AM/chsarp_memory4.aspx
Anyone knows please explain the reason.
Thank you
using System;
/*
*/
public class Shoe : ICloneable
public string Color;
#region ICloneable Members
public object Clone()
Shoe newShoe = new Shoe();
newShoe.Color = Color.Clone() as string;
return newShoe;
#endregion
public class Dude
public string Name;
public Shoe RightShoe;
public Shoe LeftShoe;
public Dude CopyDude()
Dude newPerson = new Dude();
newPerson.Name = Name;
newPerson.LeftShoe = LeftShoe.Clone() as Shoe;
newPerson.RightShoe = RightShoe.Clone() as Shoe;
return newPerson;
public override string ToString()
return (Name + " : Dude!, I have a " + RightShoe.Color
+ " shoe on my right foot, and a " + LeftShoe.Color + " on my left foot.");
public class Program_byMaha
public static void Main()
Dude Bill = new Dude();
Bill.Name = "Bill";
Bill.LeftShoe = new Shoe();
Bill.RightShoe = new Shoe();
Bill.LeftShoe.Color = Bill.RightShoe.Color = "Blue";
Dude Ted = Bill.CopyDude();
Ted.Name = "Ted";
Ted.LeftShoe.Color = Ted.RightShoe.Color = "Red";
Console.WriteLine(Bill.ToString());
Console.WriteLine(Ted.ToString());
Bill : Dude!, I have a Blue shoe on my right foot, and a Blue on my left foot.
Ted : Dude!, I have a Red shoe on my right foot, and a Red on my left foot.