Freigeben über


Vorgehensweise: 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 ihn aufruft. Sie deklarieren jeden Parameter für eine Prozedur auf die gleiche Weise, wie Sie eine Variable deklarieren und dessen Namen und Datentyp angeben. Sie geben auch den Übergabemechanismus an und geben an, ob der Parameter optional ist.

Weitere Informationen finden Sie unter Prozedurparameter und Argumente.

So definieren Sie einen Prozedurparameter

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

  2. Entscheiden Sie den Datentyp des Parameters.

  3. Folgen Sie dem Parameternamen mit einer As Klausel, 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 eines Arguments durch Wert und durch Referenz.

  6. Wenn der Parameter optional ist, stellen Sie dem Übergabemechanismus optional voran, und folgen Sie dem Parameterdatentyp mit einem Gleichheitszeichen (=) und einem Standardwert.

    Im folgenden Beispiel wird die Gliederung einer Sub Prozedur mit drei Parametern definiert. Die ersten beiden 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 übergebene c Variable direkt aktualisieren, da das Argument ByRef übergeben wird. Die Prozedur kann die Werte der letzten beiden Argumente nicht ändern, da sie 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 der Schalter für die Typüberprüfung (Option Strict Statement) lautet Off, ist die As Klausel optional, wenn Sie einen Parameter definieren. Wenn jedoch ein Parameter eine As-Klausel nutzt, müssen alle Parameter diese Klausel verwenden. Wenn der Schalter für die Typüberprüfung festgelegt ist On, ist die As Klausel für jede Parameterdefinition erforderlich.

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

    • Sie ermöglicht die IntelliSense-Unterstützung für Ihre Variablen und Parameter. Auf diese Weise können Sie deren Eigenschaften und andere Member sehen, während Sie den Code eingeben.

    • Er 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 ihm 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 reduziert wird.

Siehe auch