我需要测量应用程序上下文中许多不同方法的执行情况。
.NET 当然有 Stopwatch 类,它允许人们使用它的 .Start() 和 .Stop() 方法轻松地对一段代码进行计时。
然而,以正常方式使用 Stopwatch 类需要我用 Stopwatch 对象的实例来装饰每个方法,并调用它的 .Start() 和 .Stop() 方法。
我需要在数百个方法上使用秒表功能,并且不想用此代码污染每个方法。我还希望能够打开和关闭计时。
有没有一种简单的方法可以在我自己的代码中实现通用计时解决方案?如果是这样,怎么办?代码分析器可以做到这一点,所以我认为这一定是可能的。
只是一个想法。声明一个方法如下
public static long Measure(Action action)
{
Stopwatch sw = Stopwatch.StartNew();
action();
return sw.ElapsedMilliseconds;
}
并用作
var duration = Measure(() => MyMethod(param1));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)