Добрый день.
Ситуация следующая:
В приложении Windows Forms создаю таймер,запускаю и привязываю событие:
public Form1 () {
InitializeComponent();
Timer t = new Timer();
t.Tick += new EventHandler(t_Tick);
t.Interval = 1000;
t.Start();
t = new Timer();
t.Tick += new EventHandler(t_Tick1);
t.Interval = 1000;
t.Start();
}
void t_Tick (object sender, EventArgs e) {
txtResult.Text = DateTime.Now.ToString();
GC.Collect();
}
void t_Tick1 (object sender, EventArgs e) {
txtResult2.Text = DateTime.Now.ToString();
GC.Collect();
}
Далее этой же переменной присваиваю другой таймер,т.е. доступ к первому таймеру потерян.
При наступлении события запускаю сборщик мусора. По идее первый таймер должен быть уничтожен
,но он работает. Пробовал и в Release и в Debug. У Рихтера похожий пример,
все работает правильно.
Почему таймер не уничтожается,а если таких операций будет 1000?
Это разве не утечка ресурсов?
Я что то не понимаю.
Буду рад любому мнению.