Use Anonymous Method When Adding to an Invocation List

Recall that an instance of a delegate can refer to more than one method (delegates are multicast).  In addition to using an anonymous method to declare a new instance of a delegate, you can also use anonymous methods when adding a new method to an existing delegate instance.  (Adding to the delegate instance’s invocation list).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private delegate void StringHandlerDelegate(string s);
 
static void Main()
{
    // Declare new delegate instance, with anonymous
    // method in its invocation list
    StringHandlerDelegate del1 =
        delegate (string s) { Console.WriteLine(s); };
 
    // Now add a 2nd method to delegate, also using
    // anonymous method
    del1 +=
        delegate(string s) { Console.WriteLine(new string(s.Reverse().ToArray())); };
 
    // When we invoke the delegate, both methods are
    // called
    del1("Mairzy Doats and Dozy Doats");
}