Gewusst wie: Definieren eines Parameters für eine Prozedur (Visual Basic)

Ein Parameter ermöglicht es dem aufrufenden Code, einen Wert an die Prozedur zu übergeben, wenn er sie aufruft. Sie deklarieren jeden Parameter für eine Prozedur auf die gleiche Weise, wie Sie eine Variable deklarieren und dabei deren Namen und Datentyp angeben. Sie geben auch den Übergabemechanismus an und legen fest, ob der Parameter optional ist.

Weitere Informationen finden Sie unter Prozedurparameter und Argumente.

Definieren eines Prozedurparameters

  1. Fügen Sie in der Prozedurdeklaration den Parameternamen zur Parameterliste der Prozedur hinzu, wobei sie von anderen Parametern durch Kommas getrennt wird.

  2. Legen Sie den Datentyp des Parameters fest.

  3. Fügen Sie eine As-Klausel an den Parameternamen an, um den Datentyp anzugeben.

  4. Legen Sie den für den Parameter gewünschten Übergabemechanismus fest. Normalerweise übergeben Sie einen Parameter nach Wert, es sei denn, die Prozedur soll den Wert im aufrufenden Code ändern können.

  5. Stellen Sie dem Parameternamen ByVal oder ByRef voran, um den Übergabemechanismus anzugeben. Weitere Informationen finden Sie unter Unterschiede zwischen dem Übergeben von Argumenten nach Wert und durch Verweis.

  6. Wenn der Parameter optional ist, stellen Sie dem Übergabemechanismus Optional voran, und fügen Sie nach dem Parameterdatentyp ein Gleichheitszeichen (=) und einen Standardwert hinzu.

    Im folgenden Beispiel wird die Gliederung einer Sub-Prozedur mit drei Parametern definiert. Die ersten beiden Parameter sind erforderlich, und der dritte ist optional. Die Parameterdeklarationen werden in der Parameterliste durch Kommas getrennt.

    Sub updateCustomer(ByRef c As customer, ByVal region As String, 
      Optional ByVal level As Integer = 0)
      ' Insert code to update a customer object.
    End Sub
    

    Der erste Parameter akzeptiert ein customer-Objekt, und updateCustomer kann die an c übergebene Variable direkt aktualisieren, da das Argument durch Verweis (ByRef) übergebene wird. Die Prozedur kann die Werte der letzten beiden Argumente nicht ändern, da sie nach Wert (ByVal) übergeben werden.

    Wenn der aufrufende Code keinen Wert für den level-Parameter angibt, legt Visual Basic ihn auf den Standardwert 0 fest.

    Wenn die Option für die Typüberprüfung (Option Strict-Anweisung) Off lautet, ist die As-Klausel beim Definieren eines Parameters optional. Wenn jedoch ein Parameter eine As-Klausel nutzt, müssen alle Parameter diese Klausel verwenden. Wenn die Option für die Typüberprüfung On lautet, ist die As-Klausel für jede Parameterdefinition erforderlich.

    Das Angeben von Datentypen für alle Programmierelemente wird als starke Typisierung bezeichnet. Wenn Sie Option Strict On festlegen, erzwingt Visual Basic eine starke Typisierung. Dies wird aus folgenden Gründen dringend empfohlen:

    • Die starke Typisierung ermöglicht die IntelliSense-Unterstützung für Ihre Variablen und Parameter. Auf diese Weise können Sie deren Eigenschaften und andere Member während der Eingabe von Code anzeigen.

    • Sie ermöglicht es dem Compiler, die Typüberprüfung durchzuführen. Auf diese Weise können Anweisungen erfasst werden, die aufgrund von Fehlern (z. B. Überlauf) zur Laufzeit fehlschlagen können. Außerdem werden Aufrufe von Methoden für Objekte erfasst, die sie nicht unterstützen.

    • Dies führt zu einer schnelleren Ausführung des Codes. Ein Grund hierfür ist, dass der Visual Basic-Compiler den Object-Typ zuweist, wenn Sie keinen Datentyp für ein Programmierelement angeben. Ihr kompilierter Code muss möglicherweise zwischen Object und anderen Datentypen konvertiert werden, wodurch die Leistung beeinträchtigt wird.

Weitere Informationen