![]() |
Vererbung von Attributen von Klassen
Vererben sich Attribute einer Klasse? Angebenommen ich habe:
Delphi-Quellcode:
Wenn man nun Attribute abfragt, hat TBlub2 dann auch das BlaAttribute?
type
[BlaAttribute] TBlub1 = class end; TBlub2 = class(TBlub1) end; Mit googeln habe ich leider nichts gefunden. Ein Versuch sagt nein. |
AW: Vererbung von Attributen von Klassen
Sie werden nicht vererbt.
Aber über die ParentClass kommst auf TBlub1 und dort siehst dann dein Attribut. Das Selbe betrifft auch Methoden (Override) und Property. Natürlich wäre es bestimmt zu praktisch, wenn man bei Abfrage von Attributen angeben könnte, dass die RTTI-Klassen solche Abhängigkeiten auflösen sollen, also man setzt z.B. einen Recursive-Parameter auf True und bekommt als Ergebnis auch die Dinge des der Vorfahren mit geliefert/angehängt. |
AW: Vererbung von Attributen von Klassen
Dann müsste ich also meine Abfrage erweitern. Versuche ich mal. Danke.
|
AW: Vererbung von Attributen von Klassen
Du musst über TRttiType.BaseType die Hierarchie nach oben durchlaufen und die Attribute zusammen sammeln.
Falls du Spring4D einsetzt, kannst du Spring.Reflection nutzen, dort gibt es entsprechende Methoden, die das für dich erledigen. |
AW: Vererbung von Attributen von Klassen
Super, das mit BaseType funktioniert. Ich brauch eh nur eine Stufe.
Spring.Reflection habe ich kurz angeschaut, werde das wohl nicht weiter verfolgen. Ich komme mit der Doku nicht klar. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz