Procedure: Een parameter definiëren voor een procedure (Visual Basic)
Met een parameter kan de aanroepende code een waarde doorgeven aan de procedure wanneer deze wordt aangeroepen. U declareert elke parameter voor een procedure op dezelfde manier als u een variabele declareert, waarbij u de naam en het gegevenstype opgeeft. U geeft ook het doorgegeven mechanisme op en of de parameter optioneel is.
Zie Procedureparameters en argumenten voor meer informatie.
Een procedureparameter definiëren
Voeg in de proceduredeclaratie de parameternaam toe aan de parameterlijst van de procedure, waarbij u deze scheidt van andere parameters door komma's.
Bepaal het gegevenstype van de parameter.
Volg de parameternaam met een
As
component om het gegevenstype op te geven.Bepaal het doorgegeven mechanisme dat u wilt gebruiken voor de parameter. Normaal gesproken geeft u een parameter op waarde door, tenzij u wilt dat de procedure de waarde ervan in de aanroepcode kan wijzigen.
Ga vooraf aan de parameternaam met ByVal of ByRef om het doorgegeven mechanisme op te geven. Zie Verschillen tussen het doorgeven van een argument op waarde en op verwijzing voor meer informatie.
Als de parameter optioneel is, gaat u vooraf aan het doorgegeven mechanisme met Optioneel en volgt u het gegevenstype parameter met een gelijkteken (
=
) en een standaardwaarde.In het volgende voorbeeld wordt het overzicht van een
Sub
procedure met drie parameters gedefinieerd. De eerste twee zijn vereist en de derde is optioneel. De parameterdeclaraties worden gescheiden in de parameterlijst door komma's.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
De eerste parameter accepteert een
customer
object enupdateCustomer
kan de variabele die wordt doorgegevenc
rechtstreeks bijwerken omdat het argument wordt doorgegeven door ByRef. De procedure kan de waarden van de laatste twee argumenten niet wijzigen omdat deze worden doorgegeven door ByVal.Als de aanroepende code geen waarde voor de
level
parameter levert, stelt Visual Basic deze in op de standaardwaarde van 0.Als de schakeloptie typecontrole (optie strikt instructie) is
Off
, is deAs
component optioneel wanneer u een parameter definieert. Als een van de parameters echter eenAs
component gebruikt, moeten ze deze allemaal gebruiken. Als de schakeloptie voor typecontrole isOn
, is deAs
component vereist voor elke parameterdefinitie.Het opgeven van gegevenstypen voor al uw programmeerelementen wordt sterk typen genoemd. Wanneer u deze optie instelt
Option Strict On
, dwingt Visual Basic sterke typen af. Dit wordt om de volgende redenen sterk aanbevolen:Hiermee wordt IntelliSense-ondersteuning ingeschakeld voor uw variabelen en parameters. Hiermee kunt u hun eigenschappen en andere leden zien terwijl u uw code typt.
Hiermee kan de compiler typecontrole uitvoeren. Dit helpt bij het opvangen van instructies die tijdens de uitvoering kunnen mislukken vanwege fouten zoals overloop. Het onderschept ook aanroepen naar methoden voor objecten die deze niet ondersteunen.
Dit resulteert in een snellere uitvoering van uw code. Een van de redenen hiervoor is dat als u geen gegevenstype voor een programmeerelement opgeeft, de Visual Basic-compiler het
Object
type toewijst. Uw gecompileerde code moet mogelijk heen en weer worden geconverteerd tussenObject
en andere gegevenstypen, wat de prestaties vermindert.