static void Main(string[] args) { var stringDel = new myCoolStringDelegate(SomeMethodWithString); Console.WriteLine(stringDel(15, 16)); Console.WriteLine("**********************************"); var voidDel = new MyVoidDelegateWithInt(PrintInteger); // or MyVoidDelegateWithInt voidDel = PrintInteger; voidDel += PrintIntegerSquared; voidDel += PrintInteger; voidDel += PrintInteger; // cancelled out voidDel -= PrintInteger; // cancelled out voidDel += (x) => Console.WriteLine("Printing some cool inline function"); voidDel += (x) => Console.WriteLine("Printing something else cool"); voidDel += (x) => Console.WriteLine("**********************************"); PassSomeDelegate(voidDel); voidDel?.Invoke(7); PassDelegate(voidDel); }
public static void PassSomeDelegate(MyVoidDelegateWithInt del) { del(10); }