An anonymous method declares the body of code to execute for a delegate inline with the declaration of the delegate instance.
In the example below, the delegate type takes a single string parameter and we include this parameter in our declaration of the anonymous method.
1 2 3 4 5 6 7 | private delegate void StringHandlerDelegate( string s); static void Main() { StringHandlerDelegate del1 = delegate ( string s) { Console.WriteLine(s); }; del1( "Invoked via delegate" ); |
The anonymous method expression shown above includes a list of format parameters, in this case a single stringparameter. However, this list of parameters is optional, even if the delegate type includes one or more parameters. In the example below, we define a second anonymous method for the same delegate type, but without any formal parameters.
1 2 3 | StringHandlerDelegate del2 = delegate { Console.WriteLine( "I'm ignoring my string parameter!" ); }; del2( "Ignore me" ); |