Udostępnij za pośrednictwem


Porady: definiowanie parametru dla procedury (Visual Basic)

Parametr umożliwia wywołaniu kodu wywołującego przekazanie wartości do procedury. Każdy parametr jest deklarowany dla procedury w taki sam sposób, jak zadeklarowanie zmiennej, określając jej nazwę i typ danych. Należy również określić mechanizm przekazywania i określić, czy parametr jest opcjonalny.

Aby uzyskać więcej informacji, zobacz Parametry i argumenty procedury.

Aby zdefiniować parametr procedury

  1. W deklaracji procedury dodaj nazwę parametru do listy parametrów procedury, oddzielając ją od innych parametrów przecinkami.

  2. Określ typ danych parametru.

  3. Postępuj zgodnie z nazwą parametru klauzulą As , aby określić typ danych.

  4. Określ odpowiedni mechanizm przekazywania dla parametru. Zwykle przekazujesz parametr według wartości, chyba że chcesz, aby procedura mogła zmienić jego wartość w kodzie wywołującym.

  5. Poprzedzaj nazwę parametru ByVal lub ByRef , aby określić mechanizm przekazywania. Aby uzyskać więcej informacji, zobacz Różnice między przekazywaniem argumentu według wartości a odwołaniem.

  6. Jeśli parametr jest opcjonalny, poprzedzić mechanizm przekazywania opcjonalnym i postępować zgodnie z typem danych parametru z znakiem równości (=) i wartością domyślną.

    Poniższy przykład definiuje konspekt Sub procedury z trzema parametrami. Pierwsze dwa są wymagane, a trzeci jest opcjonalny. Deklaracje parametrów są rozdzielane przecinkami na liście parametrów.

    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
    

    Pierwszy parametr akceptuje obiekt i updateCustomer może bezpośrednio zaktualizować zmienną customer przekazaną doc, ponieważ argument jest przekazywany przez element ByRef. Procedura nie może zmienić wartości dwóch ostatnich argumentów, ponieważ są one przekazywane PrzezVal.

    Jeśli kod wywołujący nie dostarcza wartości parametru level , język Visual Basic ustawi go na wartość domyślną 0.

    Jeśli przełącznik sprawdzania typów (instrukcja Strict Option) to Off, klauzula As jest opcjonalna podczas definiowania parametru. Jeśli jednak jeden parametr używa klauzuli As , wszystkie z nich muszą go używać. Jeśli przełącznik sprawdzania typów to On, klauzula jest wymagana As dla każdej definicji parametru.

    Określanie typów danych dla wszystkich elementów programowania jest nazywane silnym wpisywaniem. Po ustawieniu języka Option Strict OnVisual Basic wymusza silne wpisywanie. Jest to zdecydowanie zalecane z następujących powodów:

    • Umożliwia obsługę funkcji IntelliSense dla zmiennych i parametrów. Dzięki temu można zobaczyć ich właściwości i inne elementy członkowskie podczas wpisywania kodu.

    • Umożliwia kompilatorowi przeprowadzanie sprawdzania typów. Pomaga to przechwytywać instrukcje, które mogą zakończyć się niepowodzeniem w czasie wykonywania z powodu błędów, takich jak przepełnienie. Przechwytuje również wywołania metod na obiektach, które ich nie obsługują.

    • Skutkuje to szybszym wykonywaniem kodu. Jednym z powodów jest to, że jeśli nie określisz typu danych dla elementu programowania, kompilator języka Visual Basic przypisuje mu Object typ. Skompilowany kod może być musiał przekonwertować między i innymi typami Object danych, co zmniejsza wydajność.

Zobacz też