我正在LinqPad中开发一个程序,该程序将清理文件并返回一些我感兴趣的信息的csv。我需要跟踪某些进程执行所需的时间,并试图使用Stopwatch方法来做到这一点
最终,我想做的是类似的事情:
void main()
{
T runTime = Timer(someProcess());
}
void someProcess(){...}
public static class Diagnostics
{
…
public static T Timer(???)
{
… (execute whatever we're timing)
return T timeTookToExe;
}
}
我不确定T
应该是什么,但你可以让Timer
接收一个委托:
public static TimeSpan Timer(Action action)
{
Stopwatch sw = new Stopwatch();
sw.Start();
action.Invoke();
sw.Stop();
return sw.Elapsed;
}
然后要使用它,你需要做一些类似的事情:
TimeSpan runTIme = Timer(() => someProcess());