Por que uma classe implementaria IDisposable explicitamente em vez de implicitamente?

Eu estava usando oFtpWebResponse classe e não viu um método Dispose.Acontece que que a classe implementa IDisposable, mas o faz explicitamente, de modo que você deve primeiro converter sua instância em IDisposable antes de chamar Dispose:

// response is an instance of FtpWebResposne
((IDisposable) response).Dispose();

Por que o designer de uma classe como esta optaria por implementar o IDisposable explicitamente? ComoAnthony Pegram diz, fazer as coisas dessa maneira oculta o fato de que o objeto deve ser descartado para o desenvolvedor médio que não está consultando a documentação toda vez que usa uma classe.

questionAnswers(4)

yourAnswerToTheQuestion