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>;