我注意到我们的 .NET WinForms 应用程序中的有趣行为。我们有一个添加了许多 mdi 子项的 mdi 表单。这些子窗体收听“广播”事件,该事件本质上是刷新自身的调用。该事件在基类中声明,并在子窗体中添加监听事件。
我注意到,即使这些子窗体已关闭,如果事件未在 Dispose() 方法中显式删除,事件仍会受到影响。
这背后的原因是什么?当然,如果表单已关闭,事件应该被分离/处理吗?是因为实际事件本身是在外部类中声明的吗?这就是我的假设。
洞察力将不胜感激。
(使用 C#、.NET 3.5)