当前位置:  开发笔记 > 编程语言 > 正文

TcpClient.Dispose()是否关闭TcpClient.GetStream?

如何解决《TcpClient.Dispose()是否关闭TcpClient.GetStream?》经验,为你挑选了1个好方法。

要关闭TcpClient,必须关闭流.通常的做法是:

        client.GetStream().Close();
        client.Close();

因此单独使用client.Close()是不够的,我的问题是client.Dispose()工作是否相同,client.GetStream().Close()因此结束将是

        client.Dispose();
        client.Close();

这是我从阅读TcpClient参考源中理解的,因为该Dispose方法关闭了流,所以我是正确的还是我错过了什么?先谢谢你.



1> Jakub Lortz..:

Close调用Dispose,Dispose处理流:

IDisposable dataStream = m_DataStream;
if (dataStream != null)
{
    dataStream.Dispose();
}

你不需要同时调用CloseDispose.选一个.

您可以查看源代码

对于IDisposable类而言,使用另一种方法执行相同操作Dispose,但具有不同的特定于域的名称是很常见的.通常IDisposable.Dispose是显式实现的,因此可以通过using语句或强制转换使用它,但不会使类的接口混乱.

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有