Hi,
der wahrscheinlich üblichste, schönste, was weiß ich Weg ist es wohl Templates zu benutzen oder Generics (weiß gerade nicht wie die in Delphi heißen).
Ein vielleicht nicht so schöner aber allemal einfacher Weg ist es, wenn du mit einer Variablen als Metaklasse arbeitest.
Dazu brauchst du nur so etwas wie
Delphi-Quellcode:
type
TMetaClass = class of TObject;
...
var x : TMetaClass;
begin
x := TStringList; // oder halt eine beliebige Klasse, die Nachfahre von TObject ist
result := x.Create;
end;
Ein Problem dass du hierbei bekommen könntest ist natürlich, dass du nicht immer den Standardkonstruktor zur Verfügung hast und du eventuell nicht weißt, was für Parameter du bekommst.
Hoffe es hilft dir trotzdem weiter
Gruß Der Unwissende