为什么IList<;T>;继承IEnumerable<;T>;和IEnumerable
本文关键字:IEnumerable gt lt 继承 为什么 IList | 更新日期: 2023-09-27 18:00:07
我偶然在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
?
有什么原因吗?
文档是以这种方式生成的,因此您可以查看类型实现了哪些接口,而不必遵循接口继承层次结构中的传递链接。