C # переводит сигнатуру метода Func в новую сигнатуру метода Func

Для версий, которые в настоящее время не используются в стандартных формулах приготовления, вы можете легко создать свой собственный кран с помощью инструмента из https://github.com/buildtools-version-taps/homebrew-versions-tap-tool

2
задан Andre 16 January 2019 в 08:04
поделиться

1 ответ

Если я правильно понял, вы хотите карри а Func<T, R>.

Вы можете написать такой метод:

public static Func<R> Curry<T, R>(Func<T, R> func, T arg) {
    return () => func(arg);
}

, который очень похож на ваш второй Foo метод, так что вы были на правильном пути.

А затем сделайте:

var curried = Curry(func, someIContext);
LogExecutionDuration(curried);

Обратите внимание, что вы также можете просто сделать:

LogExecutionDuration(() => func(someIContext));
0
ответ дан Sweeper 16 January 2019 в 08:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: