В основном я хочу, чтобы объект таймера диспетчера выполнялся только один раз.DispatcherTimer tick
Поэтому у меня есть основной код:
DispatcherTimer dispatcherTimer = new DispatcherTimer();
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Interval = new TimeSpan(0, 0, 4);
dispatcherTimer.Start();
Затем внутри события щелчка:
private void dispatcherTimer_Tick(object sender, EventArgs e)
{
this.Visibility = System.Windows.Visibility.Visible;
// Now stop timer execution.. or kill the timer object
}
Как я могу остановить таймер или убить объект после этого исполнения?
Не удалось сборщик мусора избавиться от таймера перед срабатыванием событий? – Cameron
@Cameron, нет, потому что таймер теперь имеет ссылку на анонимную функцию, поэтому он не может быть собранным мусором. –
Правильно, но у кого еще есть ссылка на эту анонимную функцию? Couldnt *, который также будет собран? – Cameron