Condividi tramite


Overrides (Visual Basic)

Specifica che una proprietà o una routine esegue l'override di una proprietà o una routine con nome identico ereditata da una classe base.

Regole

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

  • Modificatori combinati. Non è possibile specificare Overrides insieme a Shadows o Shared nella stessa dichiarazione. Poiché un elemento che esegue l'override può essere implicitamente sottoposto a override, non è possibile combinare Overridable e Overrides.

  • Firme corrispondenti. La firma di questa dichiarazione deve corrispondere esattamente alla firma della proprietà o della routine sottoposta a override. In altre parole, gli elenchi di parametri devono presentare lo stesso numero di parametri, nel medesimo ordine, e contenere gli stessi tipi di dati.

    Oltre alla firma, la dichiarazione che esegue l'override deve anche corrispondere esattamente a quanto segue.

    • Livello di accesso

    • Tipo restituito, se disponibile

  • Firme generiche. Nel caso di una routine generica la firma include il numero di parametri del tipo. La dichiarazione che esegue l'override, quindi, deve corrispondere alla versione della classe base anche in relazione a tali caratteristiche.

  • Corrispondenze aggiuntive. Oltre a corrispondere alla firma della versione della classe base, la dichiarazione deve presentare anche le corrispondenze seguenti:

    • Modificatore a livello di accesso (ad esempio Public)

    • Meccanismo di passaggio di ogni parametro (ByVal o ByRef)

    • Elenchi di vincoli su ogni parametro di tipo di una routine generica

  • Shadowing e override. Sebbene lo shadowing e l'override ridefiniscano entrambi un elemento ereditato, tra i due metodi esistono differenze sostanziali. Per altre informazioni, vedere Shadowing in Visual Basic.

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

Il modificatore Overrides può essere usato nei contesti seguenti:

Vedi anche