public int Execute(CalculatorOperations operation, CalculatorArguments args) { switch (operation) { case CalculatorOperations.Add: return Add(args); case CalculatorOperations.Sub: return Sub(args); case CalculatorOperations.Mul: return Mul(args); case CalculatorOperations.Div: return Div(args); default: throw new InvalidOperationException(); } }
public int Div(CalculatorArguments args) { return args.X / args.Y; }
public int Sub(CalculatorArguments args) { return args.X - args.Y; }
public int Mul(CalculatorArguments args) { return args.X * args.Y; }
public int Add(CalculatorArguments args) { return args.X + args.Y; }