【发布时间】:2014-08-10 07:49:19
【问题描述】:
在尝试处理 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 声明确实有效 - 不适合在聆听时使用。
【问题讨论】:
-
如果你应该从它继承,构造函数也会受到保护,但它们是公共的。 The documentation 绝对是误导。
-
protected virtual void UdpClient.Dispose(Boolean)自 .NET 框架 2.0 以来一直存在,而无参数重载public void Dispose()仅在 4.6 之后可用。您的项目针对的是
标签: c# .net resources dispose udpclient