是否应该处理UdpClient?

时间:2014-06-19 16:59:32

标签: c# .net resources dispose udpclient

当试图处理UdpClient时,我发现这是不可能的。对于以下内容:

UdpClient udpClient = new UdpClient();
udpClient.Dispose();

Visual Studio显示错误:

  

'System.Net.Sockets.UdpClient.Dispose(bool)'由于无法访问   其保护水平

这是否意味着我应该继承UdpClient并公开Dispose(因为它似乎是whatever implements IDisposable should be disposed of的共识?有什么理由我们不应该直接使用这个类吗?或者在致电Close之后没有什么可以解决的?

虽然using语句确实有效但听不适合。

1 个答案:

答案 0 :(得分:7)

不,你不应该。 你应该致电UdpClient.Close ...


在这里查看来源:http://referencesource.microsoft.com/#System/net/System/Net/Sockets/UDPClient.cs#7682e0ea2c48b5cb

您似乎可以调用Close((IDisposable)updClient).Dispose,但API方面我认为调用Close是UDP客户端的使用方式......

这一切对我来说都没什么意义......