interface IAlpha
{
IBeta BetaProperty { get; set; }
}
interface IBeta
{
}
class Alpha : IAlpha
{
public Beta BetaProperty { get; set; } // error here
}
class Beta : IBeta
{
}
'InterfaceTest.Alpha' non implementa il membro di interfaccia 'InterfaceTest.IAlpha.BetaProperty'. 'InterfaceTest.Alpha.BetaProperty' non può implementare 'InterfaceTest.IAlpha.BetaProperty' perché non ha il tipo di restituzione corrispondente di 'InterfaceTest.IBeta'.C implementazione proprietà # interfaccia
La mia domanda è perché un'implementazione di proprietà è limitata allo stesso tipo. Perché non posso usare il tipo derivato, invece?
La classe che eredita l'interfaccia restituisce una Beta di un IBte dichiarato nell'interfaccia. –