Hallo,
ich "bastel" gerade an einer Vorbereitung zu einem neuen Projekt und habe dabei folgende Konstruktion:
Delphi-Quellcode:
tBase = class(TObject)
private
end;
tBaseDesc1 = class(tBase)
private
public
constructor Create(aXMLNode : IXMLNode); virtual;
destructor Destroy; override;
end;
tBaseDesc2 = class(tBase)
private
public
constructor Create(aXMLNode : IXMLNode); virtual;
destructor Destroy; override;
end;
// u.s.w. (ca. 80 Ableitungen von tBase)
In einigen Konstruktoren muss ich Objekte erzeugen, wobei der Source für einige Teile nahezu identisch ist. Da ich es hasse, immer fast gleichen Source zu schreiben, möchte ich da optimieren. Das Problem ist dabei, dass ich in diesen kurzen Blocken auch unterschiedliche Klassen verwende:
Delphi-Quellcode:
// vNL : IXMLNodeList;
if Assigned(vNL.FindNode('MyNodeName')) then
begin
fBaseDescX := tBaseDescX.Create(vNL.FindNode('MyNodeName'));
end
else
begin
fBaseDescX := nil;
end;
Mein Ziel ist es, dafür eine Methode zu haben, die mir fBaseDescX liefert. Dabei müsste ich als Parameter folgendes übergeben:
- MyNodeName
- vNL
- tBaseDescX
Die ersten Beiden sind ja kein Problem, aber bei dem Klassen-Typ fällt mir nichts brauchbares ein.
Habt Ihr Anregungen oder Lösungen dafür?