我正在使用C#/ .NET 3.5中的选择器模式实现一些网络代码。但是,我很惊讶地发现Select
方法采用非通用IList
而不是IList<Socket>
。它在帮助文档中清楚地说明了,但是这里预计会有一个套接字列表而不是其他内容。
有谁知道为什么会这样?
答案 0 :(得分:2)
Socket.Select
(我认为你的意思是选择)是一种已经存在于.NET 1.0中的方法,微软显然从不打扰更新它,可能是因为它是一个古怪而且很少使用的API。
答案 1 :(得分:2)
来自the docs:
支持:4,3.5,3.0,2.0,1.1,1.0
在.NET 1.0中,这将是一个非常有趣的签名......
如果不破坏现有的来电者,则无法更改签名。他们本可以添加一个重载,但我不确定它会有多大帮助 - 如果你试图使用错误的参数类型的“new”重载(例如List<string>
而不是{{1}它会绑定到旧的重载。