using System; abstract class Foo { public virtual int OnReloaded () { Console.WriteLine ("HIT!"); return 0; } } class Bar : Foo { public int DoIt (Func a) { return a (); } public override int OnReloaded () { return DoIt (base.OnReloaded); } } public class Tests { public static int Main (String[] args) { var b = new Bar (); return b.OnReloaded (); } }