我发现自己在每个类上实现IDisposable,它处理来自未在类中声明的对象的事件。例如:
public class Text
{
public Text(ClassWithEvents c)
{
c.Event += EventHandler;
}
}
在这种情况下,我会将类Text声明为IDisposable,并且在Dispose方法中我将删除事件处理程序,以避免将对象固定在内存和其他令人讨厌的东西上(例如在应该死的对象上执行的代码)。 / p>
我想知道是否有更好的方法来做这件事,因为我不喜欢有太多的一次性课程,因为他们必须“小心处理”。