// cs0202.cs: foreach requires that the return type 'Foo.E[]' of 'Foo.P.GetEnumerator()' must have a suitable public MoveNext method and public Current property // Line: 18 public class Foo { public class E {} public class P { public E[] GetEnumerator () { return null; } } public static void Main () { P o = new P (); foreach (P p in o) { } } }