Передав аргументы, вы фактически вызываете метод и возвращаете int
.
Чтобы сохранить ссылку на функцию, которая будет вызвана позже, вы не передаете аргументы, что почему это правильно:
Func<int, int, int> add = addTowNumber;
Затем вы можете указать любые аргументы, которые вам нравятся при вызове:
int result1 = add(1, 2);
int result2 = add(3, 4);
Если вы хотите отложить выполнение метода с предопределенными аргументами, вот что кажется, что вы пытаетесь сделать, вам нужно создать замыкание, как это:
Func<int> add = () => addTowNumber(1, 2);
int result = add();