2つの変数を持つシンプルなクラスと、OnTimerTickから呼び出されるClose関数があります。ごくまれに、Close()関数でNullReferenceExceptionが発生していますが、これらの機会が何であるかを理解できません。誰かが説明できますか?System.Windows.Forms.Timerティックイベントで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