API:CDelegate
Aus STNE-Wiki
Version vom 28. Juni 2020, 19:26 Uhr von Dasug (Diskussion | Beiträge)
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