В следующем коде я создаю DispatcherTimer в конструкторе класса. Никто не хранит ссылки на это.
В моем понимании таймер должен быть восстановлен сборщиком мусора через некоторое время после выхода из области видимости конструктора.
Но этого не происходит! Даже после принудительного сбора мусора с GC.Collect()
Что происходит под капотом?
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
new DispatcherTimer
{
Interval = TimeSpan.FromMilliseconds(100),
IsEnabled = true
}
.Tick += (s, e) =>
{
textBlock1.Text = DateTime.Now.ToString();
};
}
}