Overloads (Visual Basic)

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

Osservazioni:

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

Regole

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

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

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

    • numero dei parametri

    • ordine dei parametri

    • tipi di dati dei parametri

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

    • tipo restituito (solo per una routine di operatore di conversione)

    Tutti gli overload devono avere lo stesso nome, ma ognuno deve essere diverso da tutti gli altri per uno o più elementi tra quelli elencati in precedenza. Questo consente al compilatore di distinguere la versione da usare 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)

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

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

  • Shadowing e overload. Si può usare Overloads anche per nascondere un membro esistente o un insieme di membri in overload di una classe base. Quando si usa 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.

Se si usa Overrides, il compilatore aggiunge implicitamente Overloads in modo che le API della libreria funzionino più facilmente con C#.

Il modificatore Overloads può essere usato nei contesti seguenti:

Vedi anche