是否应该处理UdpClient?

isp*_*iro 5 .net c# resources dispose udpclient

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

UdpClient udpClient = new UdpClient();
udpClient.Dispose();
Run Code Online (Sandbox Code Playgroud)

Visual Studio显示错误:

由于其保护级别,'System.Net.Sockets.UdpClient.Dispose(bool)'无法访问

这是否意味着我应该继承UdpClient并揭露Dispose(因为似乎是任何实现IDisposable应该被处理的共识)?有什么理由我们不应该直接使用这个类吗?或者在打电话后没有什么可以处理掉的Close

虽然using声明确实有效 - 但在听时却不合适.

AK_*_*AK_ 7

不,你不应该.你应该打电话给UdpClient.Close...


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

它看起来你可以调用Close,((IDisposable)updClient).Dispose但是API-wise我认为调用Close是UDP客户端的使用方式...

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