Stellvertreterabschnitt

Stellvertreterabschnitte stellen Modelle für Funktionen bereit.

Stellvertreterabschnitte weisen die folgenden Merkmale auf:
  • Wenn Sie eine Variable deklarieren, geben Sie einen Stellvertreterabschnittsnamen als Typ an. Die Variable wird dem Namen einer entsprechenden Funktion zugeordnet, die dieselbe Signatur wie der Stellvertreterabschnitt hat.
  • Wenn Sie bei einem Funktionsaufruf eine Stellvertretervariable anstelle des Funktionsnamens angeben, können Sie die Funktion wählen, die dynamisch aufgerufen werden soll.
  • Stellvertreter werden normalerweise als Infrastruktur für die Registrierung von Ereignishandlern verwendet. Weitere Informationen finden Sie in ExternalType für Java-Code.
  • In Situationen, bei denen keine Benutzerschnittstellen beteiligt sind, können Sie Stellvertreterabschnitte als Elemente in einem Wörterverzeichnis von Funktionszeigern oder als ein Verfahren für den dynamischen Funktionsaufruf verwenden.
  • Stellvertreterabschnitte haben keine Eigenschaften.

Syntax

Syntaxdiagramm für einen Stellvertreterabschnitt
Stellvertreterabschnittsname
Gibt den Namen an, den Sie dem Stellvertreterabschnitt zuordnen.
Parameter
Eine Liste von Parametern, die eine entsprechende Funktion haben muss. Die für den Stellvertreter definierten Parametertypen und Änderungswerte müssen mit denen in der entsprechenden Funktion übereinstimmen. Die Parameternamen können sich unterscheiden.
Typ
Der Typ, den eine entsprechende Funktion zurückgeben muss.

Beispiel

Das folgende Beispiel zeigt einen Stellvertreterabschnitt im Kontext eines Programms:
Delegate FunctionInvoker
  (displayStr STRING)
end

Program greetings
// Deklaration einer Stellvertretervariablen
invoker FunctionInvoker;

  Function main()
    // writeToScreen() muss Stellvertreterparametern entsprechen
    invoker = writeToScreen;

    invoker("Hello world");
  end

  Function writeToScreen(myMsg STRING)
    sysLib.WriteStdOut (myMsg);
  end
end

Kompatibilität

Tabelle 1. Hinweise zur Kompatibilität für den Stellvertreterabschnitt
Plattform Problem
iSeries Der Stellvertreterabschnitt ist nicht verfügbar.