3 public interface ICommon {
7 public class Base : ICommon {
8 int ICommon.DoIt () { return 1; }
9 public virtual int DoIt () { return 2; }
12 public class Derived : Base, ICommon {
13 int ICommon.DoIt () { return 3; }
14 public new virtual int DoIt () { return 4; }
17 public class ReallyDerived : Derived {
18 public override int DoIt () { return 5; }
24 ReallyDerived r1 = new ReallyDerived ();
33 // Console.WriteLine ("TEST {0}", ((ICommon)r1).DoIt ());
35 if (((ICommon)r1).DoIt() != 3)