title: Interface hides parent class member
body: <p>When a child class inherits from both a parent class and an interface, why can the child class not access a parent class method?</p>
  
  <p>Consider the following, where I can't access the <code>DoSomething()</code> method.</p>
  
  <pre><code>class Program
  {
      static void Main(string[] args)
      {
          IMyInterface myClass = null;
          myClass = new ChildClass();
          // this returns error
          myClass.DoSomething();
      }
  }
  
  internal class ParentClass
  {
      public ParentClass() { }
  
      public void DoSomething() { }
  }
  
  internal class ChildClass : ParentClass, IMyInterface
  {
      public string MyProperty { get; set; }
  
      public ChildClass() : base() { }
  }
  
  internal interface IMyInterface
  {
      string MyProperty { get; set; }
  }
  </code></pre>
  
  <p>I've looked through SO discussions <a href="https://stackoverflow.com/q/17717570/2658159">here</a> and <a href="https://stackoverflow.com/q/20185/2658159">here</a>, but they seem to focus on how a member is hidden using new, override, and virtual keywords... sorry, but I can't figure out how that applies to this situation. Also, I've browsed through the MSDN API reference on interfaces <a href="https://msdn.microsoft.com/en-us/library/ms173156%28v=vs.120%29.aspx" rel="nofollow noreferrer">here</a> and <a href="https://msdn.microsoft.com/en-us/library/4taxa8t2%28v=vs.120%29.aspx" rel="nofollow noreferrer">here</a>, with no luck.</p>