Dela via


Procedureparametrar och argument (Visual Basic)

I de flesta fall behöver en procedur viss information om de omständigheter under vilka den har anropats. En procedur som utför upprepade eller delade uppgifter använder olika information för varje anrop. Den här informationen består av variabler, konstanter och uttryck som du skickar till proceduren när du anropar den.

En parameter representerar ett värde som du förväntas ange i proceduren när du anropar den. Procedurens deklaration definierar dess parametrar.

Du kan definiera en procedur utan parametrar, en parameter eller mer än en. Den del av procedurdefinitionen som anger parametrarna kallas parameterlistan.

Ett argument representerar det värde som du anger för en procedurparameter när du anropar proceduren. Den anropande koden tillhandahåller argumenten när den anropar proceduren. Den del av proceduranropet som anger argumenten kallas argumentlistan.

Följande bild visar kod som anropar proceduren safeSquareRoot från två olika platser. Det första anropet skickar värdet för variabeln x (4.0) till parametern numberoch returvärdet i root (2.0) tilldelas variabeln y. Det andra anropet skickar literalvärdet 9.0 till numberoch tilldelar returvärdet (3.0) till variabeln z.

Diagram that shows passing an argument to a parameter

Mer information finns i Skillnader mellan parametrar och argument.

Parameterdatatyp

Du definierar en datatyp för en parameter med hjälp av -satsen i deklarationen As . Följande funktion accepterar till exempel en sträng och ett heltal.

Function appointment(ByVal day As String, ByVal hour As Integer) As String
    ' Insert code to return any appointment for the given day and time.
    Return "appointment"
End Function

Om typkontrollväxeln (Alternativ strikt instruktion) är AsOff, satsen är valfri, förutom att om någon parameter använder den, måste alla parametrar använda den. Om typkontroll är OnAs krävs -satsen för alla procedurparametrar.

Om den anropande koden förväntar sig att ange ett argument med en annan datatyp än motsvarande parameter, till exempel Byte en String parameter, måste den göra något av följande:

  • Ange endast argument med datatyper som vidgas till parameterdatatypen.

  • Ange Option Strict Off för att tillåta implicita begränsade konverteringar, eller

  • Använd ett konverteringsnyckelord för att explicit konvertera datatypen.

Typparametrar

En allmän procedur definierar också en eller flera typparametrar utöver dess normala parametrar. Med en allmän procedur kan anropskoden skicka olika datatyper varje gång den anropar proceduren, så att den kan skräddarsy datatyperna efter kraven för varje enskilt anrop. Se Allmänna procedurer i Visual Basic.

Se även