IEnumerator
содержит MoveNext()
, Reset()
и Current
в качестве своих членов. Теперь предположим, что я перенес эти методы и свойства в интерфейс IEnumerable
и удалил метод GetEnumerator()
и IEnumerator
.
Теперь объект класса, который реализует IEnumerable
, сможет получить доступ к методам и свойству и, следовательно, может быть повторен.
- Почему вышеупомянутый подход не последовал и проблемы, с которыми я столкнусь если я последую этому?
- Каким образом наличие интерфейса
IEnumerator
устраняет эти проблемы?