Mega Code Archive

 
Categories / C# Tutorial / Operator Overload
 

Operator Overloading for your own class

using System; struct MyType {     public MyType(int value)     {         this.value = value;     }     public override string ToString()     {         return(value.ToString());     }     public static MyType operator -(MyType roman)     {         return(new MyType(-roman.value));     }     public static MyType operator +( MyType roman1, MyType roman2)     {         return(new MyType(roman1.value + roman2.value));     }          public static MyType operator ++(MyType roman)     {         return(new MyType(roman.value + 1));     }     int value; } class MainClass {     public static void Main()     {         MyType    roman1 = new MyType(12);         MyType    roman2 = new MyType(125);                  Console.WriteLine("Increment: {0}", roman1++);                  Console.WriteLine("Addition: {0}", roman1 + roman2);         Console.WriteLine("Addition: {0}", roman1++ + roman2++);              } } Increment: 12 Increment: 13 Addition: 139