Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Specifica che un elemento di programmazione dichiarato redeclares e nasconde un elemento con nome identico o un set di elementi di overload in una classe base.
Osservazioni:
Lo scopo principale dell'ombreggiatura(noto anche come nascondere per nome) è mantenere la definizione dei membri della classe. La classe base potrebbe subire una modifica che crea un elemento con lo stesso nome di quello già definito. In questo caso, il modificatore Shadows forza la risoluzione dei riferimenti tramite la tua classe al membro che hai definito, anziché al nuovo elemento della classe di base.
Sia l'ombreggiatura che l'override ridefiniscono un elemento ereditato, ma esistono differenze significative tra i due approcci. Per altre informazioni, vedere Shadowing in Visual Basic.
Regole
Contesto dichiarazione. È possibile usare
Shadowssolo 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 modulo, unaShadowsstruttura o una routine.È possibile dichiarare un solo elemento shadowing in una singola istruzione di dichiarazione.
Modificatori combinati. Non è possibile specificare
Shadowsinsieme aOverloads,OverridesoStaticnella stessa dichiarazione.Tipi di elemento. È possibile nascondere qualsiasi tipo di elemento dichiarato con qualsiasi altro tipo. Se si shadow una proprietà o 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 base.
Accedere. L'elemento ombreggiato nella classe di base in genere non è disponibile all'interno della classe derivata che lo ombreggiato. 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
Privateelemento ombreggiato da un elemento della classe di base, il codice che non dispone dell'autorizzazione per accedere all'elemento accede all'elementoPrivatedella classe base.Se si shadow 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 Shadows modificatore può essere usato in questi contesti: