// Compiler options: /t:library using System; using SCG = System.Collections.Generic; namespace C5 { public abstract class EnumerableBase : SCG.IEnumerable { public abstract SCG.IEnumerator GetEnumerator (); System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { return GetEnumerator(); } } public class ArrayBase : EnumerableBase { public override SCG.IEnumerator GetEnumerator () { yield break; } } public class ArrayList : ArrayBase { public override SCG.IEnumerator GetEnumerator () { return base.GetEnumerator (); } } }