我正在使用FtpWebResponse类,但没有看到Dispose方法。 原来该类显式实现了IDisposable接口,因此在调用Dispose之前,您必须将实例强制转换为IDisposable:
// response is an instance of FtpWebResposne
((IDisposable) response).Dispose();
为什么这个类的设计者选择显式实现IDisposable接口?正如Anthony Pegram所说,这样做可以掩盖普通开发人员在每次使用类时不查阅文档就应该释放对象的事实。
Close
和Dispose
的行为确实有些不同。据我所知,现在所有这些都已经被清理干净了,除了DbConnection
和派生类型。 - Stephen Cleary