public int Calculate(CalculationPerformedHandler del, int num1, int num2) { if (del != null) { return(del(num1, num2)); } else { throw new ApplicationException(); } }
public void RunDelegateExample() { var addDel = new CalculationPerformedHandler(Add); var subtractDel = new CalculationPerformedHandler(Subtract); var multiplyDel = new CalculationPerformedHandler(Multiply); var divideDel = new CalculationPerformedHandler(Divide); Console.WriteLine($"Add {addDel?.Invoke(2, 2)}"); Console.WriteLine($"Substract {subtractDel?.Invoke(2, 2)}"); Console.WriteLine($"Multiply {multiplyDel?.Invoke(2, 2)}"); Console.WriteLine($"Divide {divideDel?.Invoke(2, 2)}"); Console.WriteLine($"Calculate Add {Calculate(addDel, 2, 2)}"); }