如果您已经
A发布了一个事件,并
B订阅了一个事件(处理程序),那么如果
A要生存的时间比更长,那就是不退订只是一个问题
B。基本上,事件订阅意味着
A仍然可以看到
B,因此可以防止对其进行垃圾回收,即使您忘记了它(也可能忘记了
Disposed()它),仍然可以在其上触发事件。
例如,如果
A是一个静态事件,这是一个问题,并且您的应用程序在
B死后运行了一段时间……但是
B可以生存到
A,因此
B不会被垃圾回收。
重要的是要注意,有人可能会问以下问题:
如果B的寿命比A长得多,B会阻止A被垃圾收集吗?
答案是“否”。B在整个事件中都没有提及A;A将正常收集



