Perché non è HashAlgorithm.Dispose pubblico?
-
23-09-2019 - |
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.
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