J'ai une classe simple avec deux variables et une fonction Close appelée OnTimerTick. Dans de très rares occasions, une exception NullReferenceException se produit dans la fonction Close(), mais je ne parviens pas à comprendre quelles peuvent être ces occasions. Quelqu'un peut-il expliquer?NullReferenceException survenant dans l'événement de graduation System.Windows.Forms.Timer
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;
}
}
Cela dépend probablement beaucoup de ce que varOne et varTwo sont. –
Vous ne voyez pas dans le débogueur sur quelle ligne l'exception se produit? –
@monkey_p Je ne l'ai jamais rencontré lors d'une session de débogage. – Raminder