当我试图通过包装通用队列来实现自己的队列时,我注意到队列实现了ICollection。然而,ICollection.CopyTo的方法签名如下:
void CopyTo(
Array array,
int index)
通用队列 Queue.CopyTo 方法的方法签名为:
public void CopyTo(
T[] array,
int arrayIndex)
这与ICollection.CopyTo的通用版本的签名相同。我感到困惑的原因是,泛型队列似乎没有实现通用的ICollection,而是实现了标准的ICollection。那么这里到底发生了什么呢?