internal static void run() { AnonMethods.GetTextDelegate getTextDelegate = delegate(string name) { return("Hello, " + name); }; // Lambda expression (expression lambda) AnonMethods.GetTextDelegate getHelloText = (string name) => { return("Hello, " + name); }; // Statement lambda AnonMethods.GetTextDelegate getGoodbyeText = (string name) => { Console.WriteLine("I'm inside of a statement lambda."); return("Goodbye, " + name); }; // Condensed expression lambda. Parameter name types are inferred from delegate type. // Parameter list paranthenses () can be omitted if there is only one parameter. AnonMethods.GetTextDelegate getWelcomeText = name => "Welcome, " + name; // Expression is 1 line, statement is multiple expressions. Delegates.PerformCalculation getSum = (a, b) => a + b; Delegates.PerformCalculation getProduct = (a, b) => a * b; DisplayNum(getSum); DisplayNum(getProduct); Console.WriteLine(getWelcomeText("Rayleigh")); return; }
static void DisplayNum(Delegates.PerformCalculation getResult) { Console.WriteLine(getResult(3.5, 2.5)); }