Gewusst wie: Definieren eines Parameters für eine Prozedur (Visual Basic)
Ein Parameter ermöglicht es dem Aufrufcode, einen Wert an die Prozedur zu übergeben, wenn sie vom Code aufgerufen wird. Parameter für Prozeduren werden auf dieselbe Weise deklariert wie Variablen, d. h., Sie müssen Namen und Datentyp des Parameters angeben. Darüber hinaus muss der Übergabemechanismus angegeben und festgelegt werden, ob es sich um einen optionalen Parameter handelt.
Weitere Informationen finden Sie unter Parameter und Argumente von Prozeduren (Visual Basic).
So definieren Sie einen Prozedurparameter
Fügen Sie in der Prozedurdeklaration den Parameternamen zur Parameterliste der Prozedur hinzu, und trennen Sie ihn durch ein Komma von anderen Parametern.
Legen Sie den Datentyp des Parameters fest.
Fügen Sie nach dem Parameternamen eine As-Klausel ein, um den Datentyp anzugeben.
Legen Sie den gewünschten Übergabemechanismus für den Parameter fest. Normalerweise wird ein Parameter als Wert übergeben, es sei denn, die Prozedur soll den Wert des Parameters im Aufrufcode ändern können.
Stellen Sie dem Parameternamen ByVal (Visual Basic) oder ByRef (Visual Basic) voran, um den Übergabemechanismus anzugeben. Weitere Informationen finden Sie unter Unterschiede zwischen dem Übergeben von Argumenten als Wert und als Verweis (Visual Basic).
Wenn der Parameter optional ist, stellen Sie dem Übergabemechanismus Optional (Visual Basic) voran, und geben Sie nach dem Datentyp des Parameters ein Gleichheitszeichen (=) und einen Standardwert ein.
Im folgenden Beispiel wird die Gliederung einer Sub-Prozedur mit drei Parametern definiert. Die ersten beiden Parameter sind erforderlich, 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 nimmt ein customer -Objekt an, und updateCustomer kann die Variable, die an c übergeben wird, direkt aktualisieren, da das Argument mit ByRef (Visual Basic) übergeben wird. Die Prozedur kann die Werte der beiden letzten Argumente nicht ändern, da sie mit ByVal (Visual Basic) übergeben werden.
Wenn der Aufrufcode keinen Wert für den level -Parameter enthält, wird er von Visual Basic auf den Standardwert 0 festgelegt.
Wenn die Typüberprüfung (Option Strict-Anweisung) den Wert Off hat, ist die As-Klausel bei der Definition eines Parameters optional. Sobald jedoch ein Parameter eine As-Klausel verwendet, muss sie von allen Parametern verwendet werden. Wenn die Typüberprüfung den Wert On hat, muss die As-Klausel bei jeder Parameterdefinition verwendet werden.
Die Angabe von Datentypen für alle Programmierelemente wird als starke Typisierung bezeichnet. Wenn Sie Option Strict On auswählen, erzwingt Visual Basic die starke Typisierung. Dies wird aus den folgenden Gründen dringend empfohlen:
Dadurch wird die IntelliSense-Unterstützung für die von Ihnen erstellten Variablen und Parameter aktiviert. Auf diese Weise können Sie bei der Eingabe des Codes die Eigenschaften der Variablen und Parameter sowie andere Member anzeigen.
Der Compiler kann eine Typüberprüfung durchführen. Anweisungen, die zur Laufzeit beispielsweise aufgrund eines Überlaufs oder anderer Fehler fehlschlagen können, können dadurch abgefangen werden. Außerdem werden Aufrufe von Methoden für Objekte, die diese nicht unterstützen, abgefangen.
Sie ermöglicht die schnellere Ausführung des Codes. Ein Grund hierfür ist, dass der Visual Basic-Compiler dem Programmierelement den Object-Datentyp zuweist, wenn Sie keinen Datentyp dafür festlegen. Der kompilierte Code müsste zwischen Object und anderen Datentypen hin und her konvertieren, wodurch die Leistung reduziert wird.
Siehe auch
Aufgaben
Gewusst wie: Übergeben von Argumenten an eine Prozedur (Visual Basic)
Konzepte
Function-Prozeduren (Visual Basic)
Übergeben von Argumenten als Wert und als Verweis (Visual Basic)
Rekursive Prozeduren (Visual Basic)
Prozedurüberladung (Visual Basic)
Objektorientierte Programmierung (C# und Visual Basic)