Udostępnij za pośrednictwem


Porady: definiowanie wielu wersji procedury (Visual Basic)

Można zdefiniować procedurę w wielu wersjach , przeciążając ją, używając tej samej nazwy, ale innej listy parametrów dla każdej wersji. Celem przeciążenia jest zdefiniowanie kilku ściśle powiązanych wersji procedury bez konieczności rozróżniania ich według nazwy.

Aby uzyskać więcej informacji, zobacz Przeciążenie procedury.

Aby zdefiniować wiele wersji procedury

  1. Napisz instrukcję Sub or Function deklaracji dla każdej wersji procedury, którą chcesz zdefiniować. Użyj tej samej nazwy procedury w każdej deklaracji.

  2. Poprzedzić słowo Sub kluczowe or Function w każdej deklaracji za pomocą słowa kluczowego Przeciążenia . Opcjonalnie można pominąć Overloads deklaracje, ale jeśli uwzględnisz je w dowolnej deklaracji, musisz ją uwzględnić w każdej deklaracji.

  3. Po każdej instrukcji deklaracji napisz kod procedury do obsługi konkretnego przypadku, w którym wywołujący kod dostarcza argumenty pasujące do listy parametrów tej wersji. Nie trzeba testować parametrów dostarczonych przez kod wywołujący. Język Visual Basic przekazuje kontrolę do zgodnej wersji procedury.

  4. W razie potrzeby zakończ każdą wersję procedury za pomocą instrukcji End Sub or End Function .

Przykład

W poniższym przykładzie zdefiniowano procedurę Sub publikowania transakcji względem salda klienta. Używa Overloads słowa kluczowego , aby zdefiniować dwie wersje procedury, jedną, która akceptuje klienta według nazwy, a drugą według numeru konta.

Overloads Sub post(ByVal custName As String, ByVal amount As Single)
    ' Insert code to access customer record by customer name.
End Sub
Overloads Sub post(ByVal custAcct As Integer, ByVal amount As Single)
    ' Insert code to access customer record by account number.
End Sub

Kod wywołujący może uzyskać identyfikację klienta jako element String lub Integer, a następnie użyć tej samej instrukcji wywołującej w obu przypadkach.

Aby uzyskać informacje na temat wywoływania tych wersji procedury, zobacz Instrukcjepost: wywoływanie procedury przeciążonej.

Kompilowanie kodu

Upewnij się, że każda z przeciążonych wersji ma tę samą nazwę procedury, ale inną listę parametrów.

Zobacz też