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