c#中的事件处理程序和应用程序生命周期对象 – 我应该解开吗?

前端之家收集整理的这篇文章主要介绍了c#中的事件处理程序和应用程序生命周期对象 – 我应该解开吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我有一个在应用程序持续时间内存在的对象.我们称之为GlobalWorker. GlobalWorker有例如UserLoggedIn,其他对象可以订阅.现在想象一下,我有一个Silverlight页面或一个asp.net页面,它在构造时订阅了UserLoggedIn事件.
public SomePage()
{
GlobalWorker.Instance.UserLoggedIn += new EventHandler(OnUserLoggedIn);
}

private void OnLoggedIn(object sender,EventArgs e)
{

}

是否存在此事件会阻止页面垃圾回收?如果是这样,在这个实例中使用的最佳模式是什么:弱事件处理程序,将订阅移动到Load事件并取消订阅UnLoad事件?

解决方法

使用 Weak Events.

这是WPF中的常见问题,您可以考虑它.

猜你在找的C#相关文章