API:CDelegate

Aus STNE-Wiki

Wechseln zu: Navigation, Suche
fertige Scripte | Anleitungen und FAQ | Überblick über die Scripting-Sektion | API-Übersicht | Hilfen zum Arbeiten im Wiki

Inhaltsverzeichnis

Allgemein

CDelegate ist eine Klasse, deren Objekte Methoden repräsentieren. Mit ihrer Hilfe ist es möglich, Methoden in Variablen zu speichern und so beispielsweise auch an andere Methoden als Parameter zu übergeben.

Erzeugung

CDelegate-Objekte können nicht klassisch mit New CDelegate() erstellt werden, sondern können direkt mit dem AddressOf-Schlüsselwort aus einer Methode abgeleitet werden. Ein Beispiel dafür ist in folgendem Programmcode zu sehen:

Function TestFunction() {
  WriteLine("Test Function called!");
}

Var Delegate As CDelegate = AddressOf TestFunction;

Methoden

Die CDelegate-Klasse besitzt ausschließlich eine Methode:

Methode Paramater Rückgabewert Erklärung
Invoke() - oder Object[] Object Ruft die Methode auf, die durch das CDelegate-Objekt repräsentiert wird.

Benutzung

Der folgende Programmcode zeigt ein Beispiel für die Benutzung der Klasse:

Function TestFunction(Text As String) As String {
  WriteLine(Text);
  Return "Test String 2";
}

Var Delegate As CDelegate = AddressOf TestFunction;
Var Parameter[1] As Object;
Parameter[0] = "Test String";
Var ReturnValue As String = Delegate.Invoke(Parameter);
WriteLine(ReturnValue);

Die erwartete Ausgabe ist:

Test String
Test String 2
Persönliche Werkzeuge