作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在尝试处理 UdpClient 时,我发现这是不可能的。对于以下内容:
UdpClient udpClient = new UdpClient();
udpClient.Dispose();
Visual Studio 显示错误:
'System.Net.Sockets.UdpClient.Dispose(bool)' is inaccessible due to its protection level
这是否意味着我应该从 UdpClient
继承并公开 Dispose
(因为这似乎是 whatever implements IDisposable should be disposed of 的共识)?有什么理由我们不应该直接使用这个类吗?或者在调用 Close
之后根本没有什么可处理的?
尽管 using
语句确实有效 - 但它不适合用于收听。
最佳答案
不,你不应该。你应该调用 UdpClient.Close
...
查看源代码后:http://referencesource.microsoft.com/#System/net/System/Net/Sockets/UDPClient.cs#7682e0ea2c48b5cb
看来您可以调用 Close
或 ((IDisposable)updClient).Dispose
但 API 方面我认为调用 Close
是UDP 客户端的使用方式...
这一切对我来说意义不大....
关于c# - 是否应处置 UdpClient?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24312265/
我是一名优秀的程序员,十分优秀!