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" ); } |