Invalid Code public class Iterator { public void next () { return; } } public class Test { public Iterator iterator () { return new Iterator (); } } void main () { Test test = null; foreach (var t in test) { } }