Domanda

Perché non è HashAlgorithm.Dispose pubblico?

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

Mi rendo conto che si tratta di un'implementazione dell'interfaccia esplicita e può ancora essere chiamato. Sto cercando di capire il ragionamento dietro di esso.

È stato utile?

Soluzione

Questo è chiamato interfaccia esplicita implementazione . L'unico modo per chiamare questo metodo consiste nel lanciare a un oggetto IDisposable. Un buon esempio di quando questo potrebbe essere utile è quando si dispone di una classe che implementa due interfacce che entrambi hanno lo stesso nome del metodo e si desidera fornire un'implementazione diversa per ciascuno di essi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top