Почему не HashAlgorithm.Dispose публично?
HashAlgorithm.Dispose
void IDisposable.Dispose() { this.Dispose(true); GC.SuppressFinalize(this); }
Я понимаю, что это явная реализация интерфейса и все еще может быть вызвана. Я пытаюсь понять причину этого.
Это называется явная реализация интерфейса . Единственный способ вызвать этот метод - привести к объекту IDisposable. Один хороший пример того, когда это может быть полезно, - это когда у вас есть класс, который реализует два интерфейса с одинаковым именем метода, и вы хотите предоставить разные реализации для каждого из них.
IDisposable