为什么IList <t>再次继承IEnumerable <t>和IEnumerable </t> </t>

时间:2013-02-19 05:09:03

标签: c# .net generics ienumerable

我偶然看一下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

有什么理由吗?

1 个答案:

答案 0 :(得分:5)

文档是以这种方式生成的,因此您可以查看类型实现的接口,而无需通过接口继承层次结构跟踪传递链接。