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