Почему я не могу использовать перечислитель массива вместо того, чтобы реализовать его самостоятельно?

У меня есть код вроде этого:

public class EffectValues : IEnumerable<object>
{
    public object [ ] Values { get; set; }

    public IEnumerator<object> GetEnumerator ( )
    {
        return this.Values.GetEnumerator ( );
    }

    System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator ( )
    {
        return this.GetEnumerator ( );
    }
}

Но компилятор жалуется, говоря:

«Невозможно неявно преобразовать тип 'System.Collections.IEnumerator' в 'System.Collections.Generic.IEnumerator'. Явное преобразование существует (вы отсутствует приведение?) "

Я думал, что тип Array реализует оба интерфейса IEnumerable, не так ли? Потому что я могу использовать функции Linq напрямую в экземпляре Values.

22
задан Joan Venge 24 February 2011 в 21:46
поделиться