我正在尝试在类中实现 (C#) 接口(interface)方法,返回派生类型而不是接口(interface)中定义的基类型:
interface IFactory
{
BaseCar GetCar();
}
class MyFactory : IFactory
{
MyCar GetCar()
{
}
}
当然在哪里:
class MyCar : BaseCar
{
}
但是,出现如下错误:
“MyFactory”未实现接口(interface)成员“IFactory.GetCar()”。 “MyFactory.BaseCar()”无法实现 IFactory.GetCar(),因为它没有匹配的“BaseCar”返回类型。
谁能告诉我失败的原因,以及解决它的最佳方法是什么?
最佳答案
使用泛型
interface IFactory<T> where T: BaseCar
{
T GetCar();
}
class MyFactory : IFactory<MyCar>
{
MyCar GetCar()
{
}
}
class MyCar : BaseCar
{
}
关于c# - 在实现中用派生类覆盖接口(interface)方法返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8564593/