1 using System.Collections.Generic;
5 public abstract class Base
7 public virtual IEnumerable<Base> GetStuff (int a)
13 public abstract class Derived : Base
15 public override IEnumerable<Base> GetStuff (int a)
17 foreach (var x in base.GetStuff (a))
22 public class SpecialDerived : Derived
24 public override IEnumerable<Base> GetStuff (int a)
26 foreach (var x in base.GetStuff (a))
30 public static void Main ()
32 Base b = new SpecialDerived ();
33 foreach (var a in b.GetStuff (5)) {