Users Pricing

blog

home / developersection / blogs / multicast delegate in c#

Multicast Delegate in C#

Amit Singh 8310 01 May 2011 Updated 18 Sep 2014

Such type’s delegates which hold and invoke multiple methods are known as multicast delegates. But simple delegates invoke only one method. Multicast delegates must satisfy the following condition:

·    The return type of the delegate must void.

·    None of the parameters of the delegate type can be declared as output parameters, using out keywords.


For Example:


delegate void Multidelegate();
    class Program
    {
        public static void Main()
        {
            Multidelegate mshow1 = new Multidelegate(Class1.show1);
            Multidelegate mshow2 = new Multidelegate(Class1.show2);
            Multidelegate mshow3 = mshow1 - mshow2;
            Multidelegate mshow4 = mshow2 - mshow1;
            Multidelegate mshow5 = mshow3 - mshow2;
            Multidelegate mshow6= mshow5 - mshow4;
            mshow3();
            mshow4();
            mshow5();
            mshow6();
            Console.ReadLine();
        }
    }   
    class Class1
    {
        static public void show1()
        {
            Console.WriteLine("India");
        }
        static public void show2()
        {
            Console.WriteLine("England");
        }
    }

Output:

India

England

India

India


Amit Singh

Other


2 Comments