У меня есть этот кусок кода, который принимает одну функцию без параметров и возвращает ее время выполнения.Передача функции с несколькими параметрами в качестве параметра
public static Stopwatch With_StopWatch(Action action)
{
var stopwatch = Stopwatch.StartNew();
action();
stopwatch.Stop();
return stopwatch;
}
Я хотел бы преобразовать его, чтобы принимать непустые функции с параметрами. Я слышал о делегате Func <>, но я понятия не имею, как его использовать. И мне нужно что-то вроде этого (очень псевдо):
public T measureThis(ref Stopwatch sw, TheFunctionToMeasure(parameterA,parameterB))
{
sw.Start(); // start stopwatch
T returnVal = TheFunctionToMeasure(A,B); // call the func with the parameters
stopwatch.Stop(); // stop sw
return returnVal; // return my func's return val
}
Так я должен получить возвращаемое значение переданного FUNC, и получить секундомер в конце концов. Любая помощь очень ценится!
Спасибо, но с этой техникой, я получаю й e возвращаемое значение? –
Если вас интересует возвращаемое значение, вы должны передать 'Func' вместо этого. Я отредактировал ответ с информацией об этом. –
carlosfigueira
Большое спасибо! –