Я хочу перегрузить оператор + для добавления сегментов вместе, чтобы сформировать путь.
Я определил путь, где T является сегментом и содержит список (где, естественно, T является сегментом). Сегмент - это абстрактный базовый класс для различных типов сегмента, то есть LineSegment
У меня есть перегруженный метод Connected, который проверяет, что сегменты имеют общую конечную точку. Я хотел бы определить перегрузку для 2 сегментов в абстрактном классе Segment, а затем для различных типов, то есть Segment и LineSegment в соответствующих производных классах.
public static Path<T> operator +(Segment s1, Segment s2)
{
if (s1.Connected(s2))
{
List<Segment> slist = new List<Segment>();
slist.Add(s1);
slist.Add(s2);
Path<T> p = new Path<T>(slist);
return p;
}
else
{
return null;
}
}
@ Jon
Так по сути ...
Я пытаюсь заменить следующий код (путь1 - это путь, сегмент - это список, где T - это сегмент).
Path<T> path1 = new Path<T>(s1);
path1.Segments.Add(s2);
с
Path<T> path1 = s1 + s2;
Проблема в том, что с кодом не компилируется.