在 WinForms 中,我可以使用 IDisposable 实现来取消订阅表单事件(例如:Activated、Load、ContextMenuChanged ......)以帮助垃圾回收吗?
取消订阅 MSDN
要防止在引发事件时调用您的事件处理程序,请取消订阅该事件。为了防止资源泄漏,您应该在处理订阅者对象之前取消订阅事件。在您取消订阅事件之前,作为发布对象中事件基础的多播委托(delegate)具有对封装订阅者事件处理程序的委托(delegate)的引用。只要发布对象持有该引用,垃圾回收就不会删除您的订阅者对象。
最佳答案
是的,但是,根据事件的数量,我认为这将属于微优化类别。
关于c# - 取消订阅事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18849975/