5

可能重复:
使用 IDisposable 取消订阅事件

我发现自己在每个类上实现 IDisposable 来处理来自未在类中声明的对象的事件。例如:

public class Text
{
    public Text(ClassWithEvents c)
    {
        c.Event += EventHandler;
    }
}

在这种情况下,我会将 Text 类声明为 IDisposable 并在 Dispose 方法上删除事件处理程序,以避免将对象固定在内存和其他讨厌的东西上(例如在应该死的对象上执行的代码)。

我想知道是否有更好的方法来做到这一点,因为我不喜欢有太多的一次性课程,因为它们必须“小心处理”。

4

0 回答 0