多态方法调用未编译
本文关键字:编译 调用 方法 多态 | 更新日期: 2023-09-27 18:28:07
我有以下带有两个抽象Segment参数的多态方法调用,但是我有一个与此调用相关的错误
public static void Connected(Segment s1, Segment s2)
{
s1.Connected(s2);
//further working code
}
我定义了一些抽象方法
public abstract bool Connected(derivedSegment0 s);
public abstract bool Connected(derivedSegment1 s);
public abstract bool Connected(derivedSegment2 s);
public abstract bool Connected(derivedSegment3 s);
对于每个派生类,哪个实现了其中的每一个(在本例中总共有16个)
public override bool Connected(derivedSegment0 s)
{
//working code
}
我不清楚为什么调用没有编译。我有错误CS1502:与"Segment.Connected(derivedSegment1)"匹配的最佳重载方法有一些无效参数。感谢
您正在尝试执行C#不支持的双重调度
在C#中,所有重载解析(dynamic
除外)都完全在编译时完成。
相反,您可以使用访问者模式。