-2
我有一個方法使用Timer類來調用方法並在特定間隔上執行它。具有傳遞參數的計時器類和調用方法
private Timer tmr = new Timer();
public void WorkAtInterval(long interval, Action<object> work)
{
//heartbeat in miliseconds
tmr.Interval = interval;
tmr.Start();
tmr.Elapsed += new ElapsedEventHandler(work);
}
我已經定義了國際上被稱爲像這樣的功能:在我的主要功能
private static void WorkSample (object interval)
{
Console.WriteLine("The interval is: {0}",interval);
}
並最終:
static void Main(string[] args)
{
HeartBeat heart = new HeartBeat();
var interval = heart.HeartBeatInterval;
heart.WorkAtInterval(interval,sampleWork(interval));
Console.Read();
}
不幸的是,這甚至不會編譯。我對代表們不是很瞭解。關於如何讓這個工作成功的建議?
問題是,當我通過在WorkAtInterval方法tmr.Elapsed + =新ElapsedEventHandler(工作)的方法的工作,我有錯誤,說:「方法名,預計」 – user843681
@ user843681這是因爲' ElapsedEventHandler'和'Action
@servy我意識到這一點,問題是當我創建與ElapsedEventHandler相同的簽名時,我無法將參數傳遞給我想要執行的函數。 – user843681