Por que IList <T> herda IEnumerable <T> e IEnumerable novamente
Eu dei uma olhadaIList<T>
eICollection<T>
no MSDN por acaso, e veja que a definição dessas duas interfaces são:
public interface ICollection<T> : IEnumerable<T>, IEnumerable
public interface IList<T> : ICollection<T>, IEnumerable<T>, IEnumerable
Notar queICollection<T>
herda deIEnumerable<T>
eIEnumerable
, tudo bem.IList<T>
herda deICollection<T>
, mas por queIList<T>
tem que herdarIEnumerable<T>
eIEnumerable
novamente?
Existe algum motivo para isso?