#551 – Use Anonymous Method When Adding to an Invocation List
March 30, 2012 2 Comments
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).
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"); }