Coisas simples complicam

31/07/2013

Fiz essa classe e quando eu vou compilar, diz que a Interface IEnumerable<T> não foi implementada, mas acho que foi.

private List<T> data = new List<T>();

public void FillList(params T[] items)
{
foreach (var datum in items)
data.Add(datum);
}

IEnumerator<T> IEnumerable<T>.GetEnumerator()
{
foreach (var datum in data)
yield return datum;
}

public IEnumerable<T> Reverse
{
get
{
for (int i = data.Count - 1; i >= 0; i--)
yield return data[i];
}
}

public IEnumerator<T> GetEnumerator()
{
return data.GetEnumerator();
}

Pjava

Respostas

31/07/2013

Pjava

Resolvi. Tive q implementar um não genérico, assim:

IEnumerator IEnumerable.GetEnumerator()
{
return data.GetEnumerator();
}
Responder Citar

31/07/2013

Aluisio Cavalcante

private List<T> data = new List<T>();

public void FillList(params T[] items)
{
foreach (var datum in items)
data.Add(datum);
}

IEnumerator<T> IEnumerable<T>.GetEnumerator()
{
foreach (var datum in data)
yield return datum;
}

public IEnumerable<T> Reverse
{
get
{
for (int i = data.Count - 1; i >= 0; i--)
yield return data[i];
}
}

public IEnumerator<T> GetEnumerator()
{
return data.GetEnumerator();
}
Responder Citar

31/07/2013

Aluisio Cavalcante

IEnumerator IEnumerable.GetEnumerator()
{
return data.GetEnumerator();
}
Responder Citar

31/07/2013

Joel Rodrigues Currículo

Esse é dos bons. Ele tem a dúvida e ele mesmo responde rsrs
Obrigado, PJava, por compartilhar a solução.
Um abraço.

Estou concluindo o tópico.
Responder Citar

14/08/2013

Gabrielsimas

Resolvi. Tive q implementar um não genérico, assim: IEnumerator IEnumerable.GetEnumerator() { return data.GetEnumerator(); }


Isso aí PJava, está no caminho certo...

Forte Abraço
Responder Citar