我試圖讓做以下的事情:將委託與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