gpt4 book ai didi

c# - 是否有必要注销事件处理程序?

转载 作者:太空宇宙 更新时间:2023-11-03 11:03:08 24 4
gpt4 key购买 nike

我看到这段代码是别人写的:

 public class DynamicPageContent : IHttpModule
{
public void Dispose() { }

public void Init(HttpApplication context)
{
// it is necessary to
context.BeginRequest += new EventHandler(DynamicPageContent_BeginRequest);
}
//actual handler not pasting as it's meaningless for this question
}

如您所见,处理程序已注册但从未注销。这不会造成内存泄漏吗?

最佳答案

事件处理可能会造成泄漏,但仅限于特定条件下。

需要注意的是订阅对象的生命周期大于发布对象的生命周期。

需要注意的是发布对象的生命周期大于订阅对象的生命周期。

在这种情况下,它们看起来是同一个对象,那么取消订阅就没有必要也没有用了。那只会使您的代码困惑。

关于c# - 是否有必要注销事件处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16915923/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com