Это может быть старый вопрос: почему IEnumerable<T>
наследует от IEnumerable
?
Вот как это делает .NET, но это приносит небольшую проблему. Каждый раз, когда я пишу класс, реализует IEumerable<T>
, я должен написать две функции GetEnumerator()
, одну для IEnumerable<T>
, а другую для IEnumerable
.
И, IList<T>
не наследуется от IList.
Я не знаю, почему IEnumerable<T>
создан другим способом.