Shadows (Visual Basic)
Specifica che un elemento di programmazione dichiarato ridichiara e nasconde un elemento omonimo o un insieme di elementi di overload di una classe base.
Note
Lo scopo principale dello shadowing, un meccanismo che consente di nascondere in base al nome, è quello di conservare la definizione dei membri della classe. È possibile che la classe base sia sottoposta a una modifica che crea un elemento con lo stesso nome di quello già definito. In tal caso, il modificatore Shadows impone che i riferimenti attraverso la classe vengano risolti nel membro definito, anziché nel nuovo elemento della classe base.
Sebbene lo shadowing e l'override ridefiniscano entrambi un elemento ereditato, esistono sostanziali differenze tra i due metodi. Per ulteriori informazioni, vedere Shadowing in Visual Basic.
Regole
Contesto della dichiarazione. È possibile utilizzare Shadows solo a livello di classe. In altri termini, il contesto della dichiarazione per un elemento Shadows deve essere una classe e non un file di origine, uno spazio dei nomi, un'interfaccia, un modulo, una struttura o una routine.
In una singola istruzione di dichiarazione è possibile dichiarare un unico elemento di shadowing.
Modificatori combinati. Non è possibile specificare Shadows insieme a Overloads, Overrides o Static nella stessa dichiarazione.
Tipi degli elementi. È possibile nascondere qualsiasi tipo di elemento dichiarato con qualsiasi altro tipo. Se si nasconde una proprietà o una routine con un'altra proprietà o routine, non è necessario che i parametri e il tipo restituito corrispondano a quelli della proprietà o della routine della classe base.
Accesso. In genere, l'elemento nascosto nella classe base non è disponibile dall'interno della classe derivata che lo nasconde. Si applicano tuttavia le considerazioni riportate di seguito.
Se l'elemento di shadowing non è accessibile dal codice che fa riferimento ad esso, il riferimento viene risolto nell'elemento nascosto. Se, ad esempio, un elemento Private nasconde un elemento della classe base, il codice che non dispone dell'autorizzazione per accedere all'elemento Private accede invece all'elemento della classe base.
Se si nasconde un elemento, è possibile comunque accedervi attraverso un oggetto dichiarato con il tipo della classe base. È inoltre possibile accedere a tale elemento mediante MyBase.
Il modificatore Shadows può essere utilizzato nei seguenti contesti:
Vedere anche
Riferimenti
Concetti
Me, My, MyBase e MyClass in Visual Basic