我试图让做以下的事情:将委托与params关键字匹配的任何方法?
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'。有没有办法做到这一点?或者我应该改变我的所有方法接受参数对象[]作为参数?
谢谢!)对不起,没有标记你的伟大答案。只是忘了它。我已经很久以前使用过这些代码,但只是今天标记它) – 0100110010101 2009-10-06 20:20:09
感谢您接受答案。并非每个人都在意在本网站上回到“堆栈”以跟踪最新的变化。 – 2009-10-09 16:32:02