Udostępnij za pośrednictwem


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 lub Optional)

    • słowa kluczowe modyfikatora właściwości lub procedury (takie jak Public lub Shared)

  • 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żywasz Overloads 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życia Overloads 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 kluczowego Shadows .

Jeśli używasz Overridespolecenia , 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:

Zobacz też