.NET 4.x Класс с поддержкой интерфейса IEnumerable - C#
Формулировка задачи:
Имеется некоторый класс:
Хочу реализовать у него поддержку интерфейса IEnumerable<T>:
Однако для компиляции приложения также нужно реализовать следующий метод:
Скажите, ЗАЧЕМ и КАК в моем случае нужно правильно реализовывать последний метод?
Как я понимаю, он вообще не нужен, поскольку класс-то обобщенный.
class DoublyLinkedList<T> : IEnumerable<T>
{...}IEnumerator<T> IEnumerable<T>.GetEnumerator()
{
Node<T> current = first;
for(int i = 0; i < size; i++)
{
yield return current.Value;
current = current.Next;
}
}IEnumerator IEnumerable.GetEnumerator()
{
throw new NotImplementedException();
} Решение задачи: «.NET 4.x Класс с поддержкой интерфейса IEnumerable»
textual
Листинг программы
public IEnumerator<T> GetEnumerator()
{
Node<T> current = first;
for (int i = 0; i < size; i++)
{
yield return current.Value;
current = current.Next;
}
}
IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator();
}