我知道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>
正在实现两个具有冲突方法声明的不同接口,因此我认为在这种情况下不需要显式接口实现,除非我错过了什么............