Multicast Delegate: ------------------- A single delegate contains several methods in its invocation list is called multicast delegate. Since a single delegate can return only one value at a time, the return type of the delegate declaration must be void because a delegate contains several methods in its invocation list. To add a new method to the invocation list use += Example: mydel m1+=new mydel(arith_oper.add); To remove a method from the invocation list use -= Example: mydel m1-=new mydel(arith_oper.prod);
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication18 { class arith_oper { public static void add(int a, int b) { Console.WriteLine("Sum: " +(a + b)); } public static void prod(int a, int b) { Console.WriteLine("Product: "+ (a * b)); } public static void diff(int a, int b) { Console.WriteLine("Difference: " + (a - b)); } } class Program { public delegate void mydel(int a,int b); static void Main(string[] args) { mydel m1 = new mydel(arith_oper.add); m1 += new mydel(arith_oper.diff); m1 += new mydel(arith_oper.prod); m1(6, 2); m1 -= new mydel(arith_oper.prod); m1(7, 3); } } }
No comments:
Post a Comment