タイトルが言うように:
TcpClient はどのように IDisposable を実装し、パブリック Dispose メソッドを持たないことができますか?
タイトルが言うように:
TcpClient はどのように IDisposable を実装し、パブリック Dispose メソッドを持たないことができますか?
明示的なインターフェイスの実装を使用する。それ以外の
public void Dispose()
{
...
}
それは持っているだろう
void IDisposable.Dispose()
{
...
}
他のさまざまなタイプがこれを行います。場合によっては ( と のサポートIEnumerable.GetEnumeratorなどIEnumerable<T>.GetEnumerator) 必要がない場合もあれば、具象型がわかっている場合に、より適切な API を公開する場合もあります。
を参照してくださいexplicit interface implementation。TcpClientのインスタンスを明示的にtoにキャストするか、ブロックIDisposableでラップする必要があります。using() {...}明示的に実装するクラスは、多くの場合、代わりにIDisposableパブリック メソッドを提供することに注意してください。Close()