根据文档(MSDN:链接)显示,当实现finalizer时,应该使用IDisposable模式。
但是,如果你实现了IDisposable(以提供一种确定性的方式来处理对象),并且没有未管理的资源需要清理,那么你是否需要实现finalizer呢?
在我看来,如果该类仅具有托管资源,并且如果您不调用Dispose,则托管资源将会被GC自动清除,因此无需实现finalizer。我的看法正确吗?
另外,如果我正在使用Dispose方法来清除事件处理程序,由于GC不会自动调用Dispose,所以我应该实现Finalizer,以确保事件处理程序被取消关联吗?