Automatic Operator Overloading C# with Example
using System; namespace CSharpClass { class Coordinate { int x {get; set;} int y {get; set;} public Coordinate(){} public Coordinate(int x, int y) { this.x = x; this.y = y; } public void Position(string type) { Console.WriteLine("{0} Position: {1},{2}", type, x, y); } public static Coordinate operator +(Coordinate operand1, Coordinate operand2) { Coordinate temp = new Coordinate(); temp.x = operand1.x + operand2.x; temp.y = operand1.y + operand2.y; return temp; } } class OperatorOverloadingBasic { static void Main() { Coordinate pixel1 = new Coordinate(12,21); Coordinate pixel2 = new Coordinate(12,21); pixel1 += pixel2; pixel1.Position("Actual Pixel"); } } }