static void Transform(int[] numbers, MyDelegate caller) { for (var index = 0; index < numbers.Length; index++) { numbers[index] = caller.Invoke(numbers[index]); } }
public static void Main() { void Action(MethodToCall methodToCall) { MyDelegate myDel; myDel = new MyDelegate(DoThisFirst); switch (methodToCall) { case MethodToCall.Method2: myDel += DoSomethingElse; break; case MethodToCall.Method3: myDel += DoAnotherThing; break; } myDel.Invoke(); } Action(MethodToCall.Method3); Console.ReadKey(); }