title: base.Method() with multiple levels of inheritance not being called?
body: <p>I've searched and not been able to find any solution to my problem. My scenario is very simple:</p>
  
  <pre><code>public class A
  {
      public virtual void MethodOne()
      {
         Console.log( "A" ); 
      }
  }
  
  public class B : A
  {
      public override void MethodOne()
      {
          base.MethodOne();
          Console.log( "B" );
      }
  }
  
  public class C : B
  {
      public override void MethodOne()
      {
          base.MethodOne();
          Console.log( "C" );
      }
  }
  </code></pre>
  
  <p>What I am trying to do is have an instance of class C (we'll name it 'instanceC') call both the overridden method of its parent, and its grandparent. So I'd expect this:</p>
  
  <pre><code>instanceC.MethodOne();
  // Output:
  // "A"
  // "B"
  // "C"
  </code></pre>
  
  <p>But instead am getting this:</p>
  
  <pre><code>instanceC.MethodOne();
  // Output
  // "A"
  // "C"
  </code></pre>
  
  <p>with class B's method being skipped over. Is this not possible? I thought this is the whole point of inheritance/polymorphism. Thanks in advance!</p>