为什么Socket.Select(...)采用IList而不是(也)IList <socket>?</socket>

时间:2010-06-21 14:51:34

标签: c# .net sockets css-selectors

我正在使用C#/ .NET 3.5中的选择器模式实现一些网络代码。但是,我很惊讶地发现Select方法采用非通用IList而不是IList<Socket>。它在帮助文档中清楚地说明了,但是这里预计会有一个套接字列表而不是其他内容。

有谁知道为什么会这样?

2 个答案:

答案 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}它会绑定到旧的重载。