Invoking delegate firstDel: Good, A! Invoking delegate SecondDel: Morning, B! Invoking delegate multiDel: Good, C! Morning, C! Invoking delegate multiMinusFirstDel: Morning, D!
This is a C# Program to combine two delegates.
This C# Program Combines Two Delegates.
Here when the multicast delegate is called, it invokes the delegates in the list, in order. Only delegates of the same type can be combined.
Here is source code of the C# Program to Combine Two Delegates. The C# program is successfully compiled and executed with Microsoft Visual Studio. The program output is also shown below.
/* * C# Program to Combine Two Delegates */ using System; delegate void dele(string s); class TestClass { static void Good(string s) { System.Console.WriteLine(" Good, {0}!", s); } static void Morning(string s) { System.Console.WriteLine(" Morning, {0}!", s); } static void Main() { dele firstdel, secondDel, multiDel, multiMinusfirstdel; firstdel = Good; secondDel = Morning; multiDel = firstdel + secondDel; multiMinusfirstdel = multiDel - firstdel; Console.WriteLine("Invoking delegate firstdel:"); firstdel("A"); Console.WriteLine("Invoking delegate secondDel:"); secondDel("B"); Console.WriteLine("Invoking delegate multiDel:"); multiDel("C"); Console.WriteLine("Invoking delegate multiMinusfirstdel:"); multiMinusfirstdel("D"); Console.ReadLine(); } }
This C# program is used to combine two delegates. A delegate is a reference type variable that holds the reference to a method. The reference can be changed at runtime.
Assign good to the firstdel variable and morning secondDel variable. Delegate objects can be composed using the “+” operator. A composed delegate calls the two delegates it was composed from. Only delegates of the same type can be composed.
Using this property of delegates, create an invocation list of methods that will be called when a delegate is invoked.This is called multicasting of a delegate. Here when the multicast delegate is called, it invokes the delegates in the list, in order. Only delegates of the same type can be combined.
Invoking delegate firstDel: Good, A! Invoking delegate SecondDel: Morning, B! Invoking delegate multiDel: Good, C! Morning, C! Invoking delegate multiMinusFirstDel: Morning, D!