Anvisningar: Definiera en parameter för en procedur (Visual Basic)

Med en parameter kan anropande kod skicka ett värde till proceduren när den anropar den. Du deklarerar varje parameter för en procedur på samma sätt som du deklarerar en variabel och anger dess namn och datatyp. Du anger också överföringsmekanismen och om parametern är valfri.

Mer information finns i Procedurparametrar och argument.

Definiera en procedurparameter

  1. I procedurdeklarationen lägger du till parameternamnet i procedurens parameterlista och separerar det från andra parametrar med kommatecken.

  2. Bestäm parameterns datatyp.

  3. Följ parameternamnet med en As sats för att ange datatypen.

  4. Bestäm vilken överföringsmekanism du vill använda för parametern. Normalt skickar du en parameter efter värde, såvida du inte vill att proceduren ska kunna ändra dess värde i den anropande koden.

  5. Föregå parameternamnet med ByVal eller ByRef för att ange överföringsmekanismen. Mer information finns i Skillnader mellan att skicka ett argument efter värde och efter referens.

  6. Om parametern är valfri föregår du överföringsmekanismen med Valfri och följer parameterdatatypen med ett likhetstecken (=) och ett standardvärde.

    I följande exempel definieras dispositionen av en Sub procedur med tre parametrar. De första två krävs och den tredje är valfri. Parameterdeklarationerna avgränsas i parameterlistan med kommatecken.

    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
    

    Den första parametern accepterar ett customer objekt och updateCustomer kan direkt uppdatera variabeln som skickas till c eftersom argumentet skickas av ByRef. Proceduren kan inte ändra värdena för de två sista argumenten eftersom de skickas till ByVal.

    Om den anropande koden inte anger något värde för parametern level anger Visual Basic standardvärdet 0.

    Om typkontrollväxeln (Alternativ strikt instruktion) är Off, As -satsen är valfri när du definierar en parameter. Men om någon parameter använder en As -sats måste alla använda den. Om typkontrollväxeln är On, krävs As-klausulen för varje parameterdefinition.

    Att ange datatyper för alla dina programmeringselement kallas stark typning. När du anger Option Strict On framtvingar Visual Basic stark typning. Detta rekommenderas starkt av följande skäl:

    • Det aktiverar IntelliSense-stöd för dina variabler och parametrar. På så sätt kan du se deras egenskaper och andra medlemmar när du skriver in din kod.

    • Det gör att kompilatorn kan utföra typkontroll. Detta hjälper till att fånga in uttryck som kan misslyckas vid körningstid på grund av fel som överflöde. Den fångar också anrop till metoder på objekt som inte stöder dessa metoder.

    • Det resulterar i snabbare körning av din kod. En orsak till detta är att om du inte anger någon datatyp för ett programmeringselement tilldelar Visual Basic-kompilatorn den Object typen. Din kompilerade kod kan behöva konvertera fram och tillbaka mellan Object och andra datatyper, vilket minskar prestandan.

Se även