title: Inherit from a non-abstract class
body: <p>I have several classes which inherit from a BaseClass which has an abstract method called GetData. In one of them I want to basically inherit from again and provide use a new method called GetArticles which I call from GetData. Here's the code.</p>
  <pre><code>public abstract class BaseClass
  {
      internal abstract void GetData();
  }
  
  internal class FirstClass : BaseClass
  {
      internal override void GetData()
      {
          // calls GetArticles
      }
  
      protected void GetArticles()
      {
      }
  }
  
  internal class SecondClass : FirstClass
  {
      protected new void GetArticles()
      {
      }
  }
  </code></pre>
  <p><code>GetArticles</code> is never called in <code>SecondClass</code>. It calls the one in <code>FirstClass</code>, even though my object is of type <code>SecondClass</code>. I can't make <code>GetArticles</code> in <code>FirstClass</code> <code>Abstract</code> because I want to use <code>FirstClass</code> in its own right.</p>
  <p>Any suggestions?</p>