title: Using inherited interface in abstract method
body: <p>Here's my code sample in C#:</p>
  
  <pre><code>abstract class A {
      public interface IA{
  
      }
  
      abstract protected void Print(IA obj);
  }
  
  abstract class B : A {
      public interface IB : IA{
  
      }
  
      override protected void Print(IB obj){
        // do something else
      }
  }
  </code></pre>
  
  <p>Apparently, the compiler is not crazy about me overriding the Print method for the class B.</p>
  
  <p>I am getting "no suitable method found to override."</p>
  
  <p>Is there a way to make it work?  I am not looking for a design change, but a technical solution.</p>