我有点困惑的C#类及其解构。
我有一个类的实例我得到在构造函数中消耗了几个事件处理程序:
public Foo(IFooHandler handler)
{
handler.Load += Load;
handler.Close += Close;
}
我需要在Foo类被破坏退订该事件。 难道我实现IDisposable
和退订那里,或者在解构? 我需要消耗这些事件,我不能这样做的另一种方式。
对于一个类,我创建一个实例,检查进度,然后类实例超出范围。 而另一个则留在MainForm
,直到窗体关闭。 首先是我很担心,因为它可能仍然有该事件处理程序的引用,而不是正确地去。
我不想泄漏内存。 当我应该怎么退订?