我认为这很简单,添加/删除只是允许我在订阅和取消订阅时执行其他逻辑?我得到它,还是有更多的?
此外,当我在这里,任何建议/最佳做法清理我的事件句柄.
清理订阅(而不是“事件句柄”)最好通过实现IDisposable来完成.
更新:对象应该实现IDisposable有一些变化. Rx团队从设计角度做出了最好的决定:订阅本身是IDisposable.常规.NET事件没有表示订阅的对象,所以选择是在发布者(定义了事件的类)和订阅者(通常是包含正在订阅的成员函数的类)之间.虽然我的设计本能更喜欢使用户IDisposable,但大多数真实世界的代码使发布商IDisposable:这是一个更简单的实现,并且可能存在没有实际的订阅者实例的情况.
(也就是说,如果代码实际上清除了事件订阅,大多数代码都没有.)