Реализация в C# метода IEnumerable.GetEnumerator()

Ошибка вида «Unable to cast object of type ‘SZArrayEnumerator’ to type ‘System.Collections.Generic.IEnumerator`1[T]’.»

Пример:

public class AssociatedMatrix : IEnumerable, IEnumerable
{
private T[] array = new T[0];
IEnumerator IEnumerable.GetEnumerator()
{
return array.GetEnumerator();
}

IEnumerator IEnumerable.GetEnumerator()
{
return ((IEnumerable)array).GetEnumerator();
}
}

Здесь важно привести массив к интерфейсу IEnumerable. А не
(IEnumerator)array.GetEnumerator();

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *