Здравствуйте, Власенко Анатолий Юрьевич, Вы писали:
ВАЮ>Доброе время суток!
ВАЮ>Из книг по C# (имеющихся у меня) и MSDN мне непонятен принцип ВАЮ>работы конструкции foreach с объектом класса, реализующего ВАЮ>интерфейс IEnumerator.
ВАЮ>Конкретная проблема заключается в непонимании мной необходимости ВАЮ>реализации метода Reset интерфейса IEnumerator. ВАЮ>Т.е. должен ли я вызывать метод Reset самостоятельно, например из ВАЮ>метода MoveNext, либо foreach сделает это автоматически?
ВАЮ>К этому вопросу подтолкнуло неожиданное (для меня) поведение ВАЮ>конструкции foreach, т.к. первый проход по элементам класса, ВАЮ>реализующего IEnumerator проходит как и ожидается, следующи же ВАЮ>вызов foreach не дает результатов, т.к. метод Reset не вызывался.
ВАЮ>Заранее спасибо!!!
Нет, Reset не вызывается.
Но если Энумератор реализует IDisposable, то Dispose вызывается.