oSLikus
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору учим матчасть? Для того, чтобы работал foreach, необходимо, чтобы класс наследовался от интерфейса Enumerable, который, в свою очередь, возвращает объект IEnumerable (перечислитель), у которого нужно реализовывать методы Reset(), MoveNext(), свойство Current. Фактически, то же самое, что и в java и С++ обычный итератор (не произвольного доступа, не обратный, а нормальный прямой - с начала до конца коллекции идёт). Random Access итератор незачем, я думаю, в C#, так как можно переопределить [] и тебе будет по индексу возващаться элементы, как будто бы твой класс массив. В общем, непривычно (как, видимо, в твоём случае) не значит, что криво. |