从继承中的overriden方法返回子类

时间:2016-10-05 03:04:19

标签: c#

我已经创建了一个基类,如下所示:

    public class BusStopEvent
    {
        public virtual BusStopEvent CreateEvent(int BusStopNumber) 
        {
            return new BusStopEvent();
        }
    }

儿童班为

public class BusArraival : BusStopEvent
{

    public override BusArraival CreateEvent(int BusStopNumber)
    {
        BusArraival evnt = null;
        evnt = base.CreateEvent(BusStopNumber);
        return evnt;
    }
}

我得到以下错误:

' BusArraival.CreateEvent(int)':返回类型必须是' BusStopEvent'匹配被覆盖的成员' BusStopEvent.CreateEvent(int)'。 无法隐式转换类型' BusTerminal.BusStopEvent'到BusTerminal.BusArrival'。存在显式转换(您是否缺少演员?)

为什么它会向我显示此错误?由于BusArrival是从BusStopEvent派生的,因此子对象应与Parent对象兼容。

0 个答案:

没有答案