Почему C # не разрешает наследование возвращаемого типа при реализации интерфейса

Есть ли рациональная причина, по которой приведенный ниже код недопустим в C #?

class X: IA, IB
{
    public X test() // Compliation Error, saying that X is not IB
    {
        return this;
    }
}

interface IA 
{
    IB test();
}
interface IB { };

Ответы на вопрос(6)

Ваш ответ на вопрос