我知道ClientBase<T>该类显式地实现了IDisposable接口,但是我不明白为什么要显式地完成它。
ClientBase 没有实现 IDisposable 成员
如果MyClient派生自ClientBase<T>I 不能Dispose以这种方式明确的对象:
MyClient client = new MyClient();
client.Dispose();
除非我强制转换为底层接口或使用using语句设计模式实现对象生命周期:
((IDisposable)client).Dispose();
Dispose当 Microsoft可以将其公开并允许开发人员显式调用它时,Microsoft 通过显式接口实现隐藏该类上的方法有什么好处?
它不像该类ClientBase<T>正在实现两个具有冲突方法声明的不同接口,因此我认为在这种情况下不需要显式接口实现,除非我错过了什么............