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