using System; namespace Program { class Program { delegate void myDelegateType(int i); static void Main(string[] args) { myDelegateType myDelegate; // delegate refers to named methods with the same signature myDelegate = subone; myDelegate = addone; // delegate can refer to anonymous "lambda" expression myDelegate += i => Console.WriteLine(i + 17); // calls the two named and the lambda myDelegate(17); } static void addone(int i) { Console.WriteLine(i + 1); } static void subone(int i) { Console.WriteLine(i - 1); } } }