Overloads (Visual Basic)
Określa, że właściwość lub procedura ponownie deklaruje co najmniej jedną istniejącą właściwość lub procedury o tej samej nazwie.
Uwagi
Przeciążenie to praktyka podawania więcej niż jednej definicji dla danej właściwości lub nazwy procedury w tym samym zakresie. Ponowne deklarowanie właściwości lub procedury przy użyciu innego podpisu jest czasami nazywane ukrywaniem przez podpis.
Reguły
Kontekst deklaracji. Można użyć
Overloads
tylko w instrukcji deklaracji właściwości lub procedury.Modyfikatory połączone. Nie można określić
Overloads
razem z cieniami w tej samej deklaracji procedury.Wymagane różnice. Podpis w tej deklaracji musi być inny niż podpis każdej właściwości lub procedury, którą przeciąża. Podpis składa się z właściwości lub nazwy procedury wraz z następującymi elementami:
liczba parametrów
kolejność parametrów
typy danych parametrów
liczba parametrów typu (dla procedury ogólnej)
zwracany typ (tylko dla procedury operatora konwersji)
Wszystkie przeciążenia muszą mieć taką samą nazwę, ale każda z nich musi się różnić od wszystkich pozostałych w co najmniej jednym z powyższych względów. Dzięki temu kompilator może odróżnić wersję do użycia, gdy kod wywołuje właściwość lub procedurę.
Niedozwolone różnice. Zmiana co najmniej jednego z następujących elementów jest nieprawidłowa w przypadku przeciążenia właściwości lub procedury, ponieważ nie są one częścią podpisu:
czy zwraca wartość (dla procedury)
typ danych wartości zwracanej (z wyjątkiem operatora konwersji)
nazwy parametrów lub parametrów typu
ograniczenia dotyczące parametrów typu (dla procedury ogólnej)
słowa kluczowe modyfikatora parametrów (takie jak
ByRef
lubOptional
)słowa kluczowe modyfikatora właściwości lub procedury (takie jak
Public
lubShared
)
Modyfikator opcjonalny. Nie trzeba używać
Overloads
modyfikatora podczas definiowania wielu przeciążonych właściwości lub procedur w tej samej klasie. Jeśli jednak używaszOverloads
w jednej z deklaracji, musisz użyć jej we wszystkich deklaracjach.Cieniowanie i przeciążenie.
Overloads
Może również służyć do cieniowania istniejącego elementu członkowskiego lub zestawu przeciążonych składowych w klasie bazowej. W przypadku użyciaOverloads
w ten sposób należy zadeklarować właściwość lub metodę o tej samej nazwie i tej samej liście parametrów co składowa klasy bazowej i nie podajesz słowa kluczowegoShadows
.
Jeśli używasz Overrides
polecenia , kompilator niejawnie dodaje Overloads
, aby interfejsy API biblioteki działały z językiem C#.
Modyfikator Overloads
może być używany w następujących kontekstach: