Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Interposer forward für Generics

  Alt 14. Feb 2020, 16:28
Die generische Deklaration ist "noch" kein Typ und du kannst nur für "fertige" Typen einen Alias erstellen.

Hast du eine Ableitung des Generics, dann klappt es, aber ist wohl nicht das hier Gewünschte.

Delphi-Quellcode:
type
  TMyGenericsProc<TResult> = reference to procedure(AResult: TResult);
  TMyGenericsStringProc = TMyGenericsProc<string>;
Delphi-Quellcode:
type
  TMyGenericsStringProc = OtherUnit.TMyGenericsStringProc;

type
  TMyGenericsStringProc = {OtherUnit.}TMyGenericsProc<string>;
Bei Typen mit einer Vererbungshierarchie ginge es aber, allerdings nicht als Alias, sondern nur als neuer generischer Typ (Nachfahre).
Delphi-Quellcode:
type
  TMyGenericsClass<TResult> = class
    X: TResult;
  end;
  TMyGenericsStringClass = TMyGenericsClass<string>;
Delphi-Quellcode:
type
  //TMyGenericsClass<T> = OtherUnit.TMyGenericsClass<T>; // nein
  //TMyGenericsClass<T> = type OtherUnit.TMyGenericsClass<T>; // auch nicht
  TMyGenericsClass<T> = class(OtherUnit.TMyGenericsClass<T>);

type
  TMyGenericsStringClass = {OtherUnit.}TMyGenericsClass<string>;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (14. Feb 2020 um 16:31 Uhr)
  Mit Zitat antworten Zitat