我偶然看一下MSDN上的IList<T>
和ICollection<T>
,看看这两个接口的定义是:
public interface ICollection<T> : IEnumerable<T>, IEnumerable
public interface IList<T> : ICollection<T>, IEnumerable<T>, IEnumerable
请注意ICollection<T>
继承自IEnumerable<T>
和IEnumerable
,这没关系。 IList<T>
继承自ICollection<T>
,但为什么IList<T>
必须再次继承IEnumerable<T>
和IEnumerable
?
有什么理由吗?
答案 0 :(得分:5)
文档是以这种方式生成的,因此您可以查看类型实现的接口,而无需通过接口继承层次结构跟踪传递链接。