Я пытаюсь реализовать (С#) метод интерфейса в классе, возвращая производный тип вместо базового типа, как определено в интерфейсе:
interface IFactory
{
BaseCar GetCar();
}
class MyFactory : IFactory
{
MyCar GetCar()
{
}
}
Где, конечно:
class MyCar : BaseCar
{
}
Однако возникает следующая ошибка:
'MyFactory' не реализует член интерфейса 'IFactory.GetCar()'. "MyFactory.BaseCar()" не может реализовать IFactory.GetCar() ", потому что у него нет соответствующего типа возврата" BaseCar ".
Может ли кто-нибудь указать мне, почему это не удается, и как наилучшим образом его обойти?