为什么 TcpListener 没有实现 IDisposable

jpo*_*pou 7 .net c# tcp idisposable tcplistener

为了更好地理解 .NET 网络部分是如何工作的,我正在浏览 TcpListener( Documentation , Reference Source ) 类的参考源。引起我注意的是它拥有实现 IDisposable (Socket) 的对象,但没有实现 IDisposable 本身。是否有一个原因?

Eri*_*ris 0

因为当您使用IPEndPoint基于构造函数时,它TcpListener不拥有套接字。IPEndPoint如果您打算重用该对象,则处理该套接字将是非常粗鲁的