Csharp/C Sharp by API/System/ICloneable

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

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>