我有一个这个领域的课:
private WcfChannelFactory<IPrestoService> _channelFactory;
在Dispose()方法中,我这样做:
if (_channelFactory != null) { _channelFactory.Dispose(); }
但这会产生错误:
Cannot access explicit implementation of IDisposable.Dispose
做了一些research之后,似乎我可以这样处理:
if (_channelFactory != null) { (_channelFactory as IDisposable).Dispose(); }
我不明白两件事:
>为什么Dispose()不可用? WcfChannelFactory< T>源自ChannelFactory< T>,它源自实现IDisposable的ChannelFactory.然而ChannelFactory没有Dispose()方法.这怎么可能?
>如果我可以(应该?)只是在_channelFactory上调用Close(),为什么XML文档没有声明Close()也会调用Dispose()?也许不会?这令人困惑.