このフィールドを持つクラスがあります:
private WcfChannelFactory<IPrestoService> _channelFactory;
メソッドではDispose()
、私はこれをやっています:
if (_channelFactory != null) { _channelFactory.Dispose(); }
しかし、それはエラーを生成します:
IDisposable.Dispose の明示的な実装にアクセスできません
いくつかの調査を行った後、次のように処分できるようです。
if (_channelFactory != null) { (_channelFactory as IDisposable).Dispose(); }
私は2つのことを理解していません:
なぜ
Dispose()
利用できないのですか?WcfChannelFactory<T>
から派生しChannelFactory<T>
、 から派生しChannelFactory
、 を実装しIDisposable
ます。まだ方法ChannelFactory
がありませんDispose()
。これはどのように可能ですか?単純に を呼び出すことができる (すべきである?) 場合、なぜ XML ドキュメントには も呼び出すと記載さ
Close()
れていないのでしょうか? 多分それはしませんか?これは紛らわしいです。_channelFactory
Close()
Dispose()