Mała łamigłówka. Jak wywołać w metodzie ToString() w klasie Kwadrat nie metodę bazową (jak w Prostokat), ale konkretną implementację w drzewie dziedziczeń, czyli w tym wypadku z "dziadka", t.j. Object.ToString().
Kod w takiej postaci jak poniżej nie działa, bo odwołanie do (Object).ToString() powoduje rekurencję.
Chciałbym, żeby Kwadrat.ToString() zwrócił mi tekst:
Kwadrat o boku x = 5
Dzięki za sugestie.
public class Prostokat
{
public double BokX { get; set; }
public double BokY { get; set; }
public Prostokat(double x, double y) { this.BokX = x; this.BokY = y; }
public override string ToString() => base.ToString() + $" o bokach: x = {BokX}; y = {BokY}";
}
public class Kwadrat : Prostokat
{
public Kwadrat(double x) : base(x, x) { }
public override string ToString() => (Object)ToString() + $" o boku: x = {BokX}";
}