如何呼叫代表

本文关键字:呼叫 何呼叫 | 更新日期: 2023-09-27 18:30:22

>我有以下代码

public class Test
{
  public static long Method1(Action a)
  {
        var s = Stopwatch.StartNew();
        a.Invoke();
        s.Stop();
        return s.Elapsed.TotalMilliseconds;
  }
}

在另一个类中我怎么称呼这个

            double elapsed = 0;
            for (int i = 0; i < 100000; i++)
            {

                elapsed+= (TestHelper.Timer(() => session.SaveTransaction(transaction)));
            }
            Debug.WriteLine(string.Format("avg execution time is {0} ms", elapsed/100000));

不编译。调用代码应该如何?

如何呼叫代表

两个问题:

  • 您正在测量单个调用;通常您应该对大量调用进行计时,否则测量速度可能太快(或至少不到一毫秒)。
  • 当你实际上可能意味着TimeSpan.TotalMilliseconds时,你正在使用TimeSpan.Milliseconds;否则,如果你超过一秒钟,它仍然会报告一个介于0到999之间的值。