このフィールドを持つクラスがあります:
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()れていないのでしょうか? 多分それはしませんか?これは紛らわしいです。_channelFactoryClose()Dispose()