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