2
我有一個類內的計時器,當這個計時器觸發時,我想調用這個類的實例方法。我如何從靜態定時器回調方法訪問它?從靜態時間回調呼叫實例方法
private void ClassInstanceMethod()
{
}
public static void TimerFired(object source, ElapsedEventArgs e)
{
// Want to call ClassInstanceMethod() here
}
private void startTimer()
{
timer = new Timer();
timer.Interval = 1000;
timer.Elapsed += new ElapsedEventHandler(TimerFired);
timer.AutoReset = false;
timer.Enabled = true;
}
解決
我有誤解,認爲TimerFired
必須是靜態的 - 它沒有。
好吧,你不能 - 你爲什麼要這麼做。即什麼阻止使你的方法是靜態的? –
或者TimerFired方法是非靜態的?當然是 – carlosfigueira
,但靜態方法通常會將調用實例對象作爲參數。 – Egil