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

Ign*_*cia 5 .net c# idisposable event-handling

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

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

public class Text
{
    public Text(ClassWithEvents c)
    {
        c.Event += EventHandler;
    }
}
Run Code Online (Sandbox Code Playgroud)

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

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