Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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
Fügen Sie in der Prozedurdeklaration den Parameternamen zur Parameterliste der Prozedur hinzu, wobei sie von anderen Parametern durch Kommas getrennt wird.
Entscheiden Sie den Datentyp des Parameters.
Folgen Sie dem Parameternamen mit einer
As
Klausel, um den Datentyp anzugeben.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.
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.
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 undupdateCustomer
kann die übergebenec
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 dieAs
Klausel optional, wenn Sie einen Parameter definieren. Wenn jedoch ein Parameter eineAs
-Klausel nutzt, müssen alle Parameter diese Klausel verwenden. Wenn der Schalter für die Typüberprüfung festgelegt istOn
, ist dieAs
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 zwischenObject
und anderen Datentypen konvertiert werden, wodurch die Leistung reduziert wird.