Básicamente, quiero que un objeto del temporizador del distribuidor ejecute solo una vez.DispatcherTimer marque una vez
Así que tienen el código básico:
DispatcherTimer dispatcherTimer = new DispatcherTimer();
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Interval = new TimeSpan(0, 0, 4);
dispatcherTimer.Start();
Luego dentro del evento click:
private void dispatcherTimer_Tick(object sender, EventArgs e)
{
this.Visibility = System.Windows.Visibility.Visible;
// Now stop timer execution.. or kill the timer object
}
¿Cómo puedo detener el temporizador o acabar con el objeto después de esta ejecución?
se le fue el recolector de basura deshacerse del temporizador antes de que se desencadene el evento? – Cameron
@Cameron, no porque el temporizador ahora tiene referencia a la función anónima, por lo tanto, no se puede recolectar basura. –
Correcto, pero ¿quién más tiene una referencia a esa función anónima? ¿No se pudo * recoger * también? – Cameron