public delegate void MyDelegate(string msg);
public static void Main()
MyDelegate del1 = ClassA.MethodA;
MyDelegate del2 = ClassB.MethodB;
MyDelegate del = del1 + del2;
Console.WriteLine("After del1 + del2");
MyDelegate del3 = (string msg) => Console.WriteLine("Called lambda expression: " + msg);
Console.WriteLine("After del1 + del2 + del3");
Console.WriteLine("After del - del2");
Console.WriteLine("After del1 - del1");
public static void MethodA(string message)
Console.WriteLine("Called ClassA.MethodA() with parameter: " + message);
public static void MethodB(string message)
Console.WriteLine("Called ClassB.MethodB() with parameter: " + message);