为什么 HashAlgorithm.Dispose 不是公开的?
为什么 HashAlgorithm.Dispose
不是公开的?
void IDisposable.Dispose()
{
this.Dispose(true);
GC.SuppressFinalize(this);
}
据我了解,这是一个显式的接口实现,仍然可以调用。我正在尝试找出其背后的原因。
Why isn't HashAlgorithm.Dispose
public?
void IDisposable.Dispose()
{
this.Dispose(true);
GC.SuppressFinalize(this);
}
I understand that it is an explicit interface implementation and can still be called. I am trying to work out the reasoning behind it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这称为显式接口实现。调用此方法的唯一方法是转换为 IDisposable 对象。这可能有用的一个很好的例子是,当您有一个类实现两个具有相同方法名称的接口,并且您希望为每个接口提供不同的实现时。
This is called explicit interface implementation. The only way to call this method is to cast to a
IDisposable
object. One good example of when this might be useful is when you have a class which implements two interfaces that both have the same method name and you want to provide a different implementation for each of them.