Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#7

AW: Generics als Parameter in Methode

  Alt 15. Mär 2012, 15:18
Zitat:
Delphi-Quellcode:
procedure TMain.LoadObject<T>(aObject: T);
begin
    aObject := T.Create;
end;
Wie gesagt, ohne Var/Out-Parameter, oder als als Funktion, ist das nicht wirklich funktionsfähig.



Oder der ganz normale und überall übliche Weg, ohne Generics.
Delphi-Quellcode:
type
  TBasisClass = class of TBasis;
  TBasis = class
    constructor Create; virtual; // eventuell auch noch abstract
  end;

  TRot = class(TBasis)
  end;

function TMain.CreateObject(T: TBasisClass);
begin
  Result := T.Create;
end;

X := TMain.CreateObject(TRot);
Ich vermute auch, das es, ohne eine virtuellen Contructor, selbst bei den Generics nicht funktionieren wird.
OK, oder man sucht sich über die neu/erweiterte RTTI den entsprechenden Constructor raus und nutzt Diesen.
$2B or not $2B
  Mit Zitat antworten Zitat