Condividi tramite


Overloads (Visual Basic)

Specifica che una proprietà o una routine ridichiara una o più proprietà o routine esistenti con lo stesso nome.

Note

Per overload si intende la pratica di fornire più definizioni per un determinato nome di proprietà o di routine nello stesso ambito. La ridichiarazione di una proprietà o di una routine con una firma diversa viene talvolta definita nascondere per firma.

Regole

  • Contesto della dichiarazione. È possibile utilizzare Overloads solo in un'istruzione per la dichiarazione di proprietà o routine.

  • Modificatori combinati. Non è possibile specificare Overloads insieme a Shadows (Visual Basic) nella stessa dichiarazione di routine.

  • Differenze necessarie. La firma in questa dichiarazione deve essere diversa dalla firma di ogni proprietà o routine di cui esegue l'overload. La firma comprende il nome della proprietà o della routine e i seguenti elementi:

    • il numero di parametri

    • l'ordine dei parametri

    • i tipi di dati dei parametri

    • il numero di parametri di tipo (per una routine generica)

    • il tipo restituito (solo per la routine di un operatore di conversione)

    Tutti gli overload devono avere lo stesso nome, ma ciascuno deve differire da tutti gli altri per uno o più elementi tra quelli elencati in precedenza. Questo consente al compilatore di distinguere la versione da utilizzare quando il codice chiama la proprietà o la routine.

  • Differenze non consentite. Poiché gli elementi riportati di seguito non fanno parte della firma, la relativa modifica non è valida per l'overload di una proprietà o di una routine:

    • la capacità di restituire un valore (per una routine)

    • il tipo di dati del valore restituito (ad eccezione di un operatore di conversione)

    • i nomi dei parametri o dei parametri di tipo

    • i vincoli definiti sui parametri di tipo (per una routine generica)

    • le parole chiave di modificatori di parametro (ad esempio, ByRef o Optional)

    • le parole chiave di modificatori di proprietà o di routine (ad esempio, Public o Shared)

  • Modificatore facoltativo. Non è necessario utilizzare il modificatore Overloads quando si definiscono più proprietà o routine di overload nella medesima classe. Se tuttavia si utilizza Overloads in una dichiarazione, è necessario utilizzarlo in tutte.

  • Shadowing e overload. È inoltre possibile utilizzare Overloads per nascondere un membro esistente o un insieme di membri di overload di una classe base. Quando si utilizza Overloads a questo scopo, è necessario dichiarare la proprietà o il metodo con lo stesso nome e lo stesso elenco di parametri del membro della classe base, senza specificare la parola chiave Shadows.

Il modificatore Overloads può essere utilizzato nei seguenti contesti:

Istruzione Function

Istruzione Operator

Istruzione Property

Istruzione Sub

Vedere anche

Attività

Procedura: definire un operatore di conversione (Visual Basic)

Riferimenti

Shadows (Visual Basic)

Concetti

Overload della routine (Visual Basic)

Tipi generici in Visual Basic (Visual Basic)

Routine di operatore (Visual Basic)