Estoy tratando de poner en práctica (C#) un método de interfaz en una clase, volviendo un tipo derivado en lugar del tipo de base como se define en la interfaz:interfaz de Anulación tipo de retorno método con clase derivada de la aplicación
interface IFactory
{
BaseCar GetCar();
}
class MyFactory : IFactory
{
MyCar GetCar()
{
}
}
Cuando, por supuesto:
class MyCar : BaseCar
{
}
sin embargo, el error siguiente ocurre:
'MyFactory' no implementa miembro de interfaz 'IFactory.GetCar()'. 'MyFactory.BaseCar()' no puede implementar IFactory.GetCar() 'porque no tiene el tipo de retorno coincidente de' BaseCar '.
¿Alguien puede indicarme por qué esto falla y cuál sería la mejor manera de evitarlo?
Este es un duplicado: [ “La interfaz no implementa” cuando Volviendo tipo derivado] (http://stackoverflow.com/questions/1121283/ interface-not-inserted-when-returning-derived-type) y [polimorfismo para las propiedades especificadas por las interfaces] (http://stackoverflow.com/questions/3670069/polymorphism-for-properties-specified-by-interfaces) –
@Austin quité mi comentario lo siento .. – MethodMan
Gracias @cod y-gray, de alguna manera se perdió esos enlaces previamente. – iDPWF1