interface IAlpha
{
IBeta BetaProperty { get; set; }
}
interface IBeta
{
}
class Alpha : IAlpha
{
public Beta BetaProperty { get; set; } // error here
}
class Beta : IBeta
{
}
「InterfaceTest.Alpha」はインターフェイス メンバー「InterfaceTest.IAlpha.BetaProperty」を実装していません。「InterfaceTest.Alpha.BetaProperty」は「InterfaceTest.IAlpha.BetaProperty」を実装できません。「InterfaceTest.IBeta」の一致する戻り値の型がないためです。
私の質問は、プロパティの実装がまったく同じタイプに制限されている理由です。代わりに派生型を使用できないのはなぜですか?