Здравствуйте, Аноним, Вы писали:
А>Может не совсем точно выразился. Я использую не System.Threading.Timer,а System.Windows.Forms.Timer.
Да, тут я мог бы догадаться.
А>И вопрос именно что таймер НЕ УНИЧТОЖАЕТЬСЯ GC!
GC.Collect вызывает сборку мусора и это не гарантирует уничтожение твоего объекта. Почитай, как работает GC. Там есть такое понятие как поколения. И старайся избегать вмешательств в работу GC.
А>"Нельзя терять ссылки на объект класса Timer до тех пор пока он тебе нужен".
А>Абсолютно согласен,но ведь все мы люди,и утечки в С++ происходили именно по невнимательности,В CLR вроде бы от этого защита,так почему не уничтожаеться таймер??
Это не утечка. Память будет собрана. Только произойдет это в любой момент, а ты расчитываешь, что твой объект жив.
У этого таймера тоже есть Dispose, а так же Stop() и св-во Enable.
Что мешает сделать так?
void t_Tick1 (object sender, EventArgs e) {
txtResult2.Text = DateTime.Now.ToString();
((Timer)sender).Stop();
....
}