private static void fn1(SomeCallbackFunction callback) { Console.WriteLine("Executing fn1"); int result = 10; callback.Invoke(result); }
//Explain use case //What is delegate? //delegate is a pattern static void Main(string[] args) { Console.WriteLine("Hello World!"); SomeCallbackFunction cb = new SomeCallbackFunction(fn4); Random rnd = new Random(); int someNumber = rnd.Next(0, 3); SomeCallbackFunction[] callbacks = { new SomeCallbackFunction(fn2), new SomeCallbackFunction(fn3), new SomeCallbackFunction(fn4) }; fn1(callbacks[someNumber]); }