Fábrica de funções

Crie uma função que receba um inteiro base e retorne uma nova função. A função retornada recebe outro inteiro e retorna a soma desse valor com o valor base capturado.

Exemplos

Func<int, int> plusFive = Program.MakePlusFunction(5);
plusFive(2) ➞ 7
plusFive(-8) ➞ -3

Func<int, int> plusTen = Program.MakePlusFunction(10);
plusTen(0) ➞ 10
plusFive(plusTen(0)) ➞ 15

Observações

  • Cada função retornada deve manter o valor base da chamada à fábrica que a criou.
  • As entradas são escolhidas para que cada soma caiba em um int do C#.