【发布时间】:2009-08-30 22:25:31
【问题描述】:
我正在尝试完成以下事情:
public delegate void SomeMethod(params object[] parameters);
那是我的代表。 我有一些方法可以运行这个 SomeMethod 委托(无论通过什么)并返回执行的时间跨度。
public TimeSpan BenchmarkMethod(SomeMethod someMethod, params object[] parameters)
{
DateTime benchmarkStart = DateTime.Now;
someMethod(parameters);
DateTime benchmarkFinish = DateTime.Now;
return benchmarkFinish - benchmarkStart;
}
我也有一些方法:
public abstract void InsertObjects (Company c);
所以,我声明:
SomeMethod dlg = new SomeMethod(InsertObjects);
TimeSpan executionTime = BenchmarkMethod(dlg, c);
但它没有运行,说“InsertObjects”没有重载与委托“TestFactory.MeasuringFactory.SomeMethod”匹配。有什么办法吗?.. 或者我应该改变我的所有方法来接受 params object[] 作为参数?..
【问题讨论】: