Hallo liebe Community,
Ich stehe mit der Overrides-Logik bei abgeleiteten Klassen auf dem Kriegsfuss. Ich möchte eine überschreibbare Public Property einer Basisklasse in einer abgeleiteten Klasse so überschreiben, dass diese auch einen vom Rückgabewert abgeleiteten Typ zurückgeben kann. VS meckert, da der Rückgabetyp nicht mit der Syntax der überschriebenen Klasse korreliert. Ich mache ein Beispiel(frei erfunden):
Ich verstehe nur nicht, wo da das Problem liegen soll: Wenn die überschriebene Methode doch einen abgeleiteten Typ zurückgibt, kann er doch als sein Basisobjekt zurückgegeben werden.
Ok, ich kann es ja auch anders lösen, aber darum geht es mir jetzt nicht. Sondern darum, weshalb der Compiler so ein Konstrukt nicht akzeptiert.
Momentan müsste ich nämlich die Funktionen je Protected machen und dann eine öffentliche, die den Rückgabewert der Protected-Funktion castet.
Grüsse
Higlav
Ich stehe mit der Overrides-Logik bei abgeleiteten Klassen auf dem Kriegsfuss. Ich möchte eine überschreibbare Public Property einer Basisklasse in einer abgeleiteten Klasse so überschreiben, dass diese auch einen vom Rückgabewert abgeleiteten Typ zurückgeben kann. VS meckert, da der Rückgabetyp nicht mit der Syntax der überschriebenen Klasse korreliert. Ich mache ein Beispiel(frei erfunden):
Ich verstehe nur nicht, wo da das Problem liegen soll: Wenn die überschriebene Methode doch einen abgeleiteten Typ zurückgibt, kann er doch als sein Basisobjekt zurückgegeben werden.
Ok, ich kann es ja auch anders lösen, aber darum geht es mir jetzt nicht. Sondern darum, weshalb der Compiler so ein Konstrukt nicht akzeptiert.
Momentan müsste ich nämlich die Funktionen je Protected machen und dann eine öffentliche, die den Rückgabewert der Protected-Funktion castet.
Grüsse
Higlav