두 개의 변수가있는 간단한 클래스와 OnTimerTick에서 호출되는 Close 함수가 있습니다. 매우 드물 긴하지만 Close() 함수에서 NullReferenceException이 발생하지만 이러한 경우가 무엇인지 이해하지 못합니다. 누군가 설명 할 수 있니?System.Windows.Forms.Timer tick 이벤트에서 NullReferenceException이 발생합니다.
System.Windows.Forms.Timer timer = new Timer();
//timer.Tick is wired up in Constructor to OnTimerTick
private void OnTimerTick(object sender, EventArgs e)
{
timer.Tick -= OnTimerTick;
Close();
}
private void Close()
{
if (varOne != null)
{
varOne.SomeEvent -= onSomeEvent;
varOne.Dispose();
varOne = null;
}
if (varTwo != null)
{
varTwo.AnotherEvent -= onAnotherEvent;
varTwo.Dispose();
varTwo = null;
}
}
아마도 varOne과 varTwo가 무엇인지에 따라 많이 달라집니다. –
디버거에서 예외가 발생한 행을 볼 수 없습니까? –
@monkey_p 디버그 세션 중에이 프로그램을 만난 적이 없습니다. – Raminder