行,
所以我有一个方法,当有人在silverlight应用程序中点击我们的图标时触发,如下所示:
private void Logo_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
e.Handled = true;
ShowInfo(true);
DispatcherTimer autoCloseTimer = new DispatcherTimer();
autoCloseTimer.Interval = new TimeSpan(0, 0, 10);
autoCloseTimer.Tick +=new EventHandler((timerSender,args) =>
{
autoCloseTimer.Stop();
ShowInfo(false);
});
autoCloseTimer.Start();
}
发生的意思是 ShowInfo() 方法打开了一个包含公司信息的框,并且调度计时器在所述时间跨度后自动关闭它。这一切都有效......
但是我不确定是因为调度计时器是本地变量,在 Logo_MouseLeftButtonUp 方法完成后,有什么可以在触发匿名方法之前保持调度计时器被引用并且不可用于 GC 收集?
是匿名方法中对 ShowInfo() 方法的引用吗?
只是感觉有些事情我应该更深入地理解,因为我可以想象使用事件等,用这样的东西很容易造成泄漏。
希望这一切都有意义!
安迪。