Terminologie für Generics

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Generics - Index


In diesem Abschnitt wird die Terminologie definiert, die zum Beschreiben von Generics verwendet wird.

Typgenerisch

Eine Typdeklaration, für die Typparameter bereitgestellt werden müssen, um einen eigentlichen Typ zu bilden.
In dem folgenden Code ist List<Item> ein Typgenerisch (oder Generic):

type
  List<Item> = class
  ...
  end;

Generisch

Identisch mit Typgenerisch.

Typparameter

Ein Parameter, der in einer generischen Deklaration oder einem Methodenkopf deklariert ist, damit er als Typ für eine andere Deklaration in seiner generischen Deklaration oder im Methodenrumpf verwendet werden kann. Der Typparameter wird an ein reales Typargument gebunden. In dem folgenden Code ist Item ein Typparameter:

type
  List<Item> = class
  ...
  end;

Typargument
und
Typbezeichner

Ein Typ, der mit einem Typbezeichner verwendet wird, um einen instantiierten Typ zu erhalten. Im vorherigem Beispiel ist List<Integer> der instantiierten Typ (instantiiertes Generic), List der Typbezeichner und Integer der Typargument.

Instantiierter Typ

Die Kombination eines Generic mit einer Menge von Parametern.

Konstruierter Typ

Identisch mit instantiiertem Typ.

Geschlossener konstruierter Typ

Ein konstruierter Typ, dessen gesamte Parameter in tatsächliche Typen aufgelöst wurden. List<Integer> ist geschlossen, weil Integer ein tatsächlicher Typ ist.

Offen konstruierter Typ

Ein konstruierter Typ, der mindestens einen Typparameter enthält. Wenn T ein Typparameter einer enthaltenden Klasse ist, dann ist List<T> ein offen konstruierter Typ.

Instantiierung

Der Compiler erzeugt realen Instruktionscode für Methoden, die in Generics definiert sind, und eine reale virtuelle Methodentabelle für einen geschlossenen konstruierten Typ. Dieser Vorgang ist vor der Ausgabe der compilierten Delphi-Unit-Datei (.dcu) oder Objektdatei (.obj) für Win32 erforderlich.

Siehe auch