Логика работы интерфейса IEnumerator и foreach
От: Власенко Анатолий Юрьевич Россия  
Дата: 04.06.03 13:44
Оценка:
Доброе время суток!

Из книг по C# (имеющихся у меня) и MSDN мне непонятен принцип
работы конструкции foreach с объектом класса, реализующего
интерфейс IEnumerator.

Конкретная проблема заключается в непонимании мной необходимости
реализации метода Reset интерфейса IEnumerator.
Т.е. должен ли я вызывать метод Reset самостоятельно, например из
метода MoveNext, либо foreach сделает это автоматически?

К этому вопросу подтолкнуло неожиданное (для меня) поведение
конструкции foreach, т.к. первый проход по элементам класса,
реализующего IEnumerator проходит как и ожидается, следующи же
вызов foreach не дает результатов, т.к. метод Reset не вызывался.

Заранее спасибо!!!
Поиски счастья — основной источник несчастья.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.