Почему 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 { };