Shadows (Visual Basic)

Specifica che un elemento di programmazione dichiarato ridecla e nasconde un elemento denominato in modo identico, o un set di elementi di overload, in una classe di base.

Commenti

Lo scopo principale dello shadowing ( noto anche come nascondere per nome) è mantenere la definizione dei membri della classe. La classe di base potrebbe subire una modifica che crea un elemento con lo stesso nome di quello già definito. In questo caso, il modificatore forza la risoluzione dei riferimenti tramite la classe al membro definito, anziché al Shadows nuovo elemento della classe base.

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.

Regole

  • Contesto della dichiarazione. È possibile usare Shadows solo a livello di classe. Ciò significa che il contesto di dichiarazione per un elemento deve essere una classe e non può essere un file di origine, uno spazio dei nomi, un'interfaccia, un Shadows modulo, una struttura o una routine.

    È possibile dichiarare un solo elemento shadowing in una singola istruzione di dichiarazione.

  • Modificatori combinati. Non è possibile Shadows specificare insieme a , o nella stessa Overloads Overrides Static dichiarazione.

  • Tipi di elemento. È possibile nascondere qualsiasi tipo di elemento dichiarato con qualsiasi altro tipo. Se si shadow di una proprietà o di una routine con un'altra proprietà o routine, i parametri e il tipo restituito non devono corrispondere a quelli nella proprietà o nella routine della classe di base.

  • Accedere. L'elemento ombreggiato nella classe base non è in genere disponibile all'interno della classe derivata che lo nasconde. Tuttavia, si applicano le considerazioni seguenti.

    • Se l'elemento shadowing non è accessibile dal codice che vi fa riferimento, il riferimento viene risolto nell'elemento ombreggiato. Ad esempio, se un elemento nasconde un elemento della classe base, il codice che non dispone dell'autorizzazione per accedere all'elemento accede invece Private Private all'elemento della classe base.

    • Se si ombreggiatura di un elemento, è comunque possibile accedere all'elemento ombreggiato tramite un oggetto dichiarato con il tipo della classe di base. È anche possibile accedervi tramite MyBase .

Il modificatore Shadows può essere usato nei contesti seguenti:

Vedi anche