FtpWebResponseクラスを使用していましたが、Disposeメソッドが表示されませんでした。 クラスはIDisposableを実装していることがわかりましたが、明示的に実装しているため、Disposeを呼び出す前にまずインスタンスをIDisposableにキャストする必要があります。
// response is an instance of FtpWebResposne
((IDisposable) response).Dispose();
このようなクラスの設計者がIDisposableを明示的に実装することを選択するのはなぜですか?Anthony Pegramが言うように、この方法で行うことは、クラスを使用するたびにドキュメントを参照していない平均的な開発者のためにオブジェクトを破棄する必要があるという事実を覆い隠します。