C# RemoveHandler在弱事件模式中有什么用途?

C# RemoveHandler在弱事件模式中有什么用途?,c#,wpf,weak-references,C#,Wpf,Weak References,根据: 弱事件模式可以在侦听器需要时使用 注册事件,但侦听器不明确知道何时注册 取消注册 说明了在使用WeakEventManager时,不显式调用不会导致内存泄漏 所以我的问题是,为什么方法RemoveHandler甚至存在于WeakEventManager类中?这不是完全没有必要吗?什么时候有必要 这不是完全没有必要吗 否。如果没有RemoveHandler方法,您应该如何(显式)取消订阅 什么时候有必要 每当您想要明确取消订阅事件订阅时 如果不调用RemoveHandler,事件处理将继续

根据:

弱事件模式可以在侦听器需要时使用 注册事件,但侦听器不明确知道何时注册 取消注册

说明了在使用
WeakEventManager
时,不显式调用不会导致内存泄漏

所以我的问题是,为什么方法
RemoveHandler
甚至存在于
WeakEventManager
类中?这不是完全没有必要吗?什么时候有必要

这不是完全没有必要吗

否。如果没有
RemoveHandler
方法,您应该如何(显式)取消订阅

什么时候有必要

每当您想要明确取消订阅事件订阅时


如果不调用
RemoveHandler
,事件处理将继续进行,直到垃圾收集器收集侦听器。

有些情况下,您不想再从源接收事件。@SimonMourier,也许您可以将其扩展为正确的答案