Fábrica de funciones

Crea una función que reciba un entero base y devuelva una función nueva. La función devuelta recibe otro entero y devuelve la suma de ese valor y el valor base capturado.

Ejemplos

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

Notas

  • Cada función devuelta debe conservar el valor base de la llamada a la fábrica que la creó.
  • Las entradas se eligen de modo que cada suma quepa en un int de C#.