Using inherited interface in abstract method : <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>
