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
Napisz instrukcję
Sub
orFunction
deklaracji dla każdej wersji procedury, którą chcesz zdefiniować. Użyj tej samej nazwy procedury w każdej deklaracji.Poprzedzić słowo
Sub
kluczowe orFunction
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.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.
W razie potrzeby zakończ każdą wersję procedury za pomocą instrukcji
End Sub
orEnd 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ż
- z konkretnym obiektem
- Parametry i argumenty procedur
- Rozwiązywanie problemów z procedurami
- Instrukcje: przeciążanie procedury korzystającej z parametrów opcjonalnych
- Instrukcje: przeciążanie procedury korzystającej z nieokreślonej liczby parametrów
- Zagadnienia dotyczące przeciążania procedur
- Rozpoznanie przeciążenia