delegate int Operation (int a, int b);
public static void Main()
Console.WriteLine("Delegate Demo");
Console.WriteLine("add: {0}", execute(3, 4, add));
Console.WriteLine("sub: {0}", execute(3, 4, sub));
Console.WriteLine("mul: {0}", execute(3, 4, mul));
Console.WriteLine("div: {0}", execute(8, 4, div));
Console.WriteLine("square: {0}", execute(2, 3, Square));
static int Square (int a, int b) => (a*a) + (b*b);
static int execute (int a, int b, Operation operation) => operation (a, b);