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.

Diagram that shows passing an argument to a parameter

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 Typüberprüfungsschalter (Option Strict-Anweisung) Off, lautet, ist die As-Klausel optional. Wenn jedoch ein Parameter sie verwendet, muss sie von allen Parametern verwendet werden. 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 zuzulassen

  • Verwenden 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