我有这个领域的课程:
private WcfChannelFactory<IPrestoService> _channelFactory;
在Dispose()
方法中,我这样做:
if (_channelFactory != null) { _channelFactory.Dispose(); }
但这会产生错误:
无法访问 IDisposable.Dispose 的显式实现
在做了一些研究之后,看来我可以这样处理:
if (_channelFactory != null) { (_channelFactory as IDisposable).Dispose(); }
我不明白两件事:
为什么不可
Dispose()
用?WcfChannelFactory<T>
派生自ChannelFactory<T>
,派生自ChannelFactory
,实现IDisposable
。却ChannelFactory
没有Dispose()
办法。这怎么可能?如果我可以(应该?)简单地调用
Close()
,_channelFactory
为什么 XML 文档没有说明Close()
也会调用Dispose()
?也许不会?这令人困惑。