Csharp/C Sharp by API/System/ICloneable
implements ICloneable
<source lang="csharp"> using System; class MyValue {
public MyValue(int count) { this.count = count; } public int count;
} class MyObject: ICloneable {
public MyObject(int count) { this.contained = new MyValue(count); } public object Clone() { Console.WriteLine("Clone"); return(new MyObject(this.contained.count)); } public MyValue contained;
} class MainClass {
public static void Main() { MyObject my = new MyObject(33); MyObject myClone = (MyObject) my.Clone(); Console.WriteLine("Values: {0} {1}", my.contained.count, myClone.contained.count); myClone.contained.count = 15; Console.WriteLine("Values: {0} {1}", my.contained.count, myClone.contained.count); }
}
</source>