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
Fügen Sie in der Prozedurdeklaration den Parameternamen zur Parameterliste der Prozedur hinzu, wobei sie von anderen Parametern durch Kommas getrennt wird.
Legen Sie den Datentyp des Parameters fest.
Fügen Sie eine
As
-Klausel an den Parameternamen an, 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 von Argumenten nach Wert und durch Verweis.
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, undupdateCustomer
kann die anc
ü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 dieAs
-Klausel beim Definieren eines Parameters optional. Wenn jedoch ein Parameter eineAs
-Klausel nutzt, müssen alle Parameter diese Klausel verwenden. Wenn die Option für die TypüberprüfungOn
lautet, ist dieAs
-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 zwischenObject
und anderen Datentypen konvertiert werden, wodurch die Leistung beeinträchtigt wird.