Me gustaría que mi tipo implemente IEnumerable<string>
. He intentado seguir C# en una cáscara de nuez, pero algo salió mal:Cómo implementar IEnumerable <T> con GetEnumerator()?
public class Simulation : IEnumerable<string>
{
private IEnumerable<string> Events()
{
yield return "a";
yield return "b";
}
public IEnumerator<string> GetEnumerator()
{
return Events().GetEnumerator();
}
}
Pero consigo el error de generación
de error 1 'EventSimulator.Simulation' no implementa miembro de interfaz System.Collections'. IEnumerable.GetEnumerator() '. 'EventSimulator.Simulation.GetEnumerator()' no puede implementar 'System.Collections.IEnumerable.GetEnumerator()' porque no tiene el tipo de retorno coincidente de 'System.Collections.IEnumerator'.
Aparte: puede 'yield return' directamente desde dentro' GetEnumerator() ' – AlexFoxGill