Pergunta

Por que não é HashAlgorithm.Dispose público?

void IDisposable.Dispose()
{
    this.Dispose(true);
    GC.SuppressFinalize(this);
}

Entendo que é uma implementação explícita da interface e ainda pode ser chamada. Estou tentando descobrir o raciocínio por trás disso.

Foi útil?

Solução

Isso é chamado Implementação explícita de interface. A única maneira de chamar esse método é lançar para um IDisposable objeto. Um bom exemplo de quando isso pode ser útil é quando você tem uma classe que implementa duas interfaces que têm o mesmo nome de método e você deseja fornecer uma implementação diferente para cada uma delas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top