Por que IEnumerable <T> herda de IEnumerable?
Essa pode ser uma pergunta antiga: por queIEnumerable<T>
herdar deIEnumerable
?
É assim que o .NET faz, mas traz um pequeno problema. Toda vez que escrevo uma classe implementaIEumerable<T>
Eu tenho que escrever doisGetEnumerator()
funções, uma paraIEnumerable<T>
e o outro paraIEnumerable
.
E,IList<T>
não herda de IList.
Não sei porqueIEnumerable<T>
foi projetado de outra maneira.