Por que não posso usar o enumerador de uma matriz, em vez de implementá-lo eu mesmo?
Eu tenho algum código como este:
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 ( );
}
}
Mas o compilador reclama dizendo:
"Não é possível converter implicitamente o tipo 'System.Collections.IEnumerator' para 'System.Collections.Generic.IEnumerator'. Existe uma conversão explícita (você está perdendo uma conversão?)"
Eu pensei que o tipo Array implementou ambas as interfaces IEnumerable, não é? Porque eu posso usar os recursos do Linq diretamente na instância Values.