我正在尝试实现一个消息传递系统,我只是使用常规的 .NET 事件,但问题是发布者的寿命比订阅者长,并且发布者持有对订阅者的引用并防止事件被取消注册。
我一直在研究弱事件,但是它们有很多不同的实现方式,我很难将我的大脑包裹在它们周围。我想要一些简单的东西。
此外,一旦事件没有引用,他们中的大多数都不会立即取消注册该事件。我想要一个在对象没有更多引用或超出范围时立即取消注册事件的系统。
我可以不使用内置的事件语法糖,而是使用各种公共静态类来促进整个工作。
我只想能够在一个类中引发一个事件,该事件将调用所有订阅者的方法,这些方法将在订阅者不再使用后立即自动取消注册。
可以做到这一点还是已经以某种方式存在于框架中?