Warum IList <T> IEnumerable <T> und IEnumerable erneut erbt
Ich habe einen Blick darauf geworfenIList<T>
undICollection<T>
auf MSDN zufällig, und sehen, dass die Definition dieser beiden Schnittstellen sind:
public interface ICollection<T> : IEnumerable<T>, IEnumerable
public interface IList<T> : ICollection<T>, IEnumerable<T>, IEnumerable
Beachte dasICollection<T>
erbt vonIEnumerable<T>
undIEnumerable
, das ist okay.IList<T>
erbt vonICollection<T>
, aber warumIList<T>
muss erbenIEnumerable<T>
undIEnumerable
nochmal?
Gibt es einen Grund dafür?