如何在不阻止垃圾回收的情况下订阅事件?

时间:2015-05-06 22:29:02

标签: c# design-patterns garbage-collection

我们说AppConfiguration.Instance是单身人士。

现在让我们说我的UI会动态添加一个按钮,如果配置发生变化,应该更改它的文本,所以我的应用可以这样做:

AppConfiguration.Instance.Changed += Changed_Handler;

在按钮的代码上,但我不想这样做,因为在用户导航到另一个屏幕并且按钮从表单中删除后,这将阻止按钮的垃圾收集

我的问题是:是否有一个设计模式用于在不阻止垃圾收集的情况下监听事件,而不是通过AppConfiguration.Instance.Changed -= Changed_Handler;手动取消订阅事件?

1 个答案:

答案 0 :(得分:0)

写完问题并在弱绑定上发布我的最后一次搜索之后,我遇到了完全符合我想要的weak event pattern