Implement ICloneable interface : ICloneable : Class C# Examples


C# Examples » Class » ICloneable »

 

Implement ICloneable interface









    
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);
        }
}
    
   
  
   



Output

Clone
Values: 33 33
Values: 33 15


HTML code for linking to this page:

Follow Navioo On Twitter

C# Examples

 Navioo Class
» ICloneable