我应该在处理外部事件的类上实现IDisposable来释放事件处理程序吗?

时间:2012-06-04 16:59:22

标签: c# .net event-handling idisposable

  

可能重复:
  Using IDisposable to unsubscribe events

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

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

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

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

0 个答案:

没有答案