Stack<T> implements ICollection, but has methods from ICollection<T>
问题 I'm trying to create a custom collection based on Stack<T> . When I look at Stack<T> [from metadata] in visual studio, it shows that Stack<T> implements ICollection , which would require it to implement ICollection 's CopyTo(Array array, index) method, but instead, it is shown as having ICollection<T> 's CopyTo(T[] array, index) method. Can someone explain why this is the case? I'm trying to create a collection that mimics Stack<T> pretty heavily. When I implement ICollection as stack does,