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

cuo*_*gle 1 .net c# generics ienumerable

我已经采取了外观上IList<T>ICollection<T>MSDN上的机会,看到这两个接口的定义是:

public interface ICollection<T> : IEnumerable<T>, IEnumerable
public interface IList<T> : ICollection<T>, IEnumerable<T>, IEnumerable
Run Code Online (Sandbox Code Playgroud)

请注意,ICollection<T>继承自IEnumerable<T>IEnumerable,没关系.IList<T>继承ICollection<T>,但为什么IList<T>要继承IEnumerable<T>IEnumerable再次?

有什么理由吗?

Sam*_*ell 5

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