Parameter und Argumente von Prozeduren (Visual Basic)
In den meisten Fällen benötigt eine Prozedur einige Informationen zu den Umständen, unter denen sie aufgerufen wurde. Prozeduren, die wiederholte oder gemeinsame Aufgaben ausführen, verwenden für jeden Aufruf unterschiedliche Informationen. Diese Informationen setzen sich aus Variablen, Konstanten und Ausdrücken zusammen, die Sie beim Aufrufen an die Prozedur übergeben.
Ein Parameter stellt einen Wert dar, den die Prozedur beim Aufrufen erwartet. In der Deklaration der Prozedur werden ihre Parameter definiert.
Sie können eine Prozedur ohne Parameter, mit einem Parameter oder mit mehreren definieren. Der Teil der Prozedurdefinition, der die Parameter angibt, wird als Parameterliste bezeichnet.
Ein Argument stellt den Wert dar, den Sie beim Aufrufen der Prozedur als Parameter angeben. Der aufrufende Code stellt die Argumente bereit, wenn die Prozedur aufgerufen wird. Der Teil des Prozeduraufrufs, der die Argumente angibt, wird als Argumentliste bezeichnet.
Die folgende Abbildung zeigt Code, der die Prozedur safeSquareRoot
an zwei verschiedenen Stellen aufruft. Der erste Aufruf übergibt den Wert der Variablen x
(4,0) an den Parameter number
, und der Rückgabewert in root
(2,0) wird der Variablen y
zugewiesen. Der zweite Aufruf übergibt den Literalwert 9,0 an number
und weist der Variablen z
den Rückgabewert (3,0) zu.
Weitere Informationen finden Sie unter Unterschiede zwischen Parametern und Argumenten.
Parameterdatentyp
Sie definieren einen Datentyp für einen Parameter über die As
-Klausel in der Deklaration. Die folgende Funktion nimmt beispielsweise eine Zeichenfolge und einen Integer entgegen.
Function appointment(ByVal day As String, ByVal hour As Integer) As String
' Insert code to return any appointment for the given day and time.
Return "appointment"
End Function
Wenn der Schalter für die Typüberprüfung (Option Strict Statement) lautet Off
, ist die As
Klausel optional, mit der Ausnahme, dass bei verwendung eines Parameters alle Parameter sie verwenden müssen. Wenn die Typüberprüfung On
lautet, ist die As
-Klausel für alle Prozedurparameter erforderlich.
Wenn der aufrufende Code erwartet, dass ein Argument mit einem anderen Datentyp als dem des entsprechenden Parameters bereitgestellt wird, z. B. Byte
für einen String
-Parameter, muss eine der folgenden Aktionen ausgeführt werden:
Ausschließliches Angeben von Argumenten mit Datentypen, die in den Parameterdatentyp erweitert werden
Festlegen von
Option Strict Off
, um implizite Eingrenzungskonvertierungen zuzulassenVerwenden eines Konvertierungsschlüsselworts, um den Datentyp explizit zu konvertieren
Typparameter
In einer generischen Prozedur werden zusätzlich zu den normalen Parametern auch Typparameter definiert. Eine generische Prozedur ermöglicht es dem aufrufenden Code, bei jedem Aufruf der Prozedur verschiedene Datentypen zu übergeben, sodass die Datentypen an die Anforderungen jedes einzelnen Aufrufs angepasst werden können. Siehe Generic Procedures in Visual Basic.
Weitere Informationen
- Vorgehensweisen
- Sub-Prozeduren
- Function-Prozeduren
- Eigenschaftenprozeduren
- Operatorprozeduren
- Vorgehensweise: Definieren eines Parameters für eine Prozedur
- Vorgehensweise: Übergeben von Argumenten an eine Prozedur
- Übergeben von Argumenten als Wert und als Verweis
- Prozedurüberladung
- Typkonvertierung in Visual Basic