このMSDN ページの例を試していました。方法を変えてみましたGetEnumerator
。その中で何かが正しくないように見えることは知っていますが、準拠していて実行されません。エラーは、列挙子が開始されておらず、MoveNext
呼び出す必要があるのに呼び出されているということです!
class Program
{
static void Main(string[] args)
{
foreach (var day in new DaysOfTheWekk())
{
Console.WriteLine(day) ;
}
Console.ReadLine();
}
}
public class DaysOfTheWekk: IEnumerable
{
private string[] days = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
public IEnumerator GetEnumerator()
{
days.GetEnumerator().MoveNext();
yield return days.GetEnumerator().Current;
}
}