我试图执行(C#)在一个类的接口方法,如在接口中定义的返回派生类型来代替基本类型的:重写接口的方法返回类型
interface IFactory
{
BaseCar GetCar();
}
class MyFactory : IFactory
{
MyCar GetCar()
{
}
}
其中当然:
class MyCar : BaseCar
{
}
但是,下面的错误发生:
'MyFactory' 不实现接口成员 'IFactory.GetCar()'。 'MyFactory.BaseCar()'不能实现IFactory.GetCar()',因为它没有匹配的返回类型'BaseCar'。
任何人都可以指出为什么这会失败,以及如何解决它的最佳方法?
这是一个重复:[“接口没有实现”返回派生类型时(http://stackoverflow.com/questions/1121283/ interface-not-implemented-when-returning-derived-type)和[由接口指定的属性的多态性](http://stackoverflow.com/questions/3670069/polymorphism-for-properties-specified-by-interfaces) – 2011-12-19 16:53:15
@奥斯汀我删除了我的评论对不起.. – MethodMan 2011-12-19 17:12:03
谢谢@cod y-灰色,不知何故错过了以前的这些链接。 – iDPWF1 2011-12-20 07:32:57