Parametry i argumenty procedur (Visual Basic)

W większości przypadków procedura wymaga pewnych informacji o okolicznościach, w których została wywołana. Procedura wykonująca powtarzające się lub udostępnione zadania używa różnych informacji dla każdego wywołania. Te informacje składają się ze zmiennych, stałych i wyrażeń przekazywanych do procedury podczas ich wywoływania.

Parametr reprezentuje wartość oczekiwaną przez procedurę podczas wywoływania. Deklaracja procedury definiuje jej parametry.

Można zdefiniować procedurę bez parametrów, jednego parametru lub więcej niż jednego. Część definicji procedury, która określa parametry, jest nazywana listą parametrów.

Argument reprezentuje wartość dostarczaną do parametru procedury podczas wywoływania procedury. Kod wywołujący dostarcza argumenty podczas wywoływania procedury. Część wywołania procedury określająca argumenty jest nazywana listą argumentów.

Poniższa ilustracja przedstawia kod wywołujący procedurę safeSquareRoot z dwóch różnych miejsc. Pierwsze wywołanie przekazuje wartość zmiennej x (4.0) do parametru number, a wartość zwracana w pliku root (2.0) jest przypisana do zmiennej y. Drugie wywołanie przekazuje wartość literału 9.0 do numbermetody i przypisuje wartość zwracaną (3.0) do zmiennej z.

Diagram that shows passing an argument to a parameter

Aby uzyskać więcej informacji, zobacz Różnice między parametrami i argumentami.

Typ danych parametru

Typ danych dla parametru definiuje się przy użyciu As klauzuli w jej deklaracji. Na przykład następująca funkcja akceptuje ciąg i liczbę całkowitą.

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

Jeśli przełącznik sprawdzania typów (instrukcja Strict Option) jest Off, klauzulą As opcjonalną, z tą różnicą, że jeśli którykolwiek z nich używa jednego parametru, wszystkie parametry muszą go używać. Jeśli sprawdzanie typu to On, klauzula jest wymagana As dla wszystkich parametrów procedury.

Jeśli kod wywołujący oczekuje podania argumentu o typie danych innym niż odpowiadający mu parametru, na przykład Byte do parametru String , musi wykonać jedną z następujących czynności:

  • Podaj tylko argumenty z typami danych, które rozszerzają typ danych parametru;

  • Ustaw Option Strict Off wartość zezwalającą na niejawne konwersje zawężające; lub

  • Użyj słowa kluczowego konwersji, aby jawnie przekonwertować typ danych.

Parametry typu

Procedura ogólna definiuje również jeden lub więcej parametrów typu oprócz normalnych parametrów. Procedura ogólna umożliwia kodowi wywołującego przekazywanie różnych typów danych za każdym razem, gdy wywołuje procedurę, dzięki czemu może dostosować typy danych do wymagań poszczególnych wywołań. Zobacz Ogólne procedury w Visual Basic.

Zobacz też