Hallo,
ich suche nach einer Möglichkeit, wie ich auf eine gleichnamige Eigenschaft, z.B. das Feld "Bezeichnung" in verschiedenen Klassen zugreifen kann.
Derzeit habe ich es so gelöst:
Delphi-Quellcode:
var
lObject: TObject;
begin
lObject := GetObject(ID); // Kann ein Verweis auf TClass_1 oder TClass_2 zurückgeben
if assigned(lObject) then
begin
if lObject is TClass_1 then
with lObject as TClass_1 do
Text := Bezeichnung
else if lObject is TClass_2 then
with lObject as TClass_2 do
Text := Bezeichnung;
end;
end;
Das ist aber bei umfangreichen Arbeiten mit der Klasse aufwändig, da alles doppelt implementiert ist. Im realen Fall sind es auch mehere Eigenschaften die verwendet werden. Möglichkeit wäre natürlich, diese Eienschaften in eine gemeinsame Basisklasse zu legen, dummerweise ist diese aber schon definiert und wird beliebig oft für anders verwendet wo diese Eigenschaften nicht benötigt werden.
Gibt es eine Möglichkeit ohne die Klassenstruktur zu ändern?
Danke
Gerd