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.
Aggiornamento: novembre 2007
Messaggio di errore
Il membro '<nomemembro1>' dichiara in modo implicito '<nomemembroimplicito>', che è in conflitto con un membro dichiarato in modo implicito per il membro '<nomemembro2>' nella classe base '<nomeclassebase>'. Il membro, dunque, deve essere dichiarato 'Shadows'.
Member '<membername1>' implicitly declares '<implicitmembername>', which conflicts with a member implicitly declared for member '<membername2>' in the base class '<baseclassname>'. So the member should be declared 'Shadows'.
Il membro di una classe derivata genera un membro implicito con lo stesso nome del membro implicito della classe base. Poiché i membri impliciti non specificano Overloads, il compilatore presume che questo membro nasconda (Shadows) il membro implicito della classe base. Il codice risulta più leggibile e meno soggetto a errori, se si specifica esplicitamente la parola chiave Shadows relativa a questo membro.
Il compilatore Visual Basic crea membri impliciti corrispondenti a determinati elementi di programmazione dichiarati. Nella tabella riportata di seguito sono riepilogati questi membri impliciti o sintetici.
Elemento dichiarato |
Membri creati in modo implicito |
|---|---|
Enumerazione |
Membro value__ |
Evento |
Routine add_<eventname> Routine remove_<eventname> Campo <eventname>Event Delegato <eventname>EventHandler |
Proprietà |
Routine get_<propertyname> Routine set_<propertyname> |
Membro My.Form, membro My.WebService o membro di una classe contrassegnata con l'attributo MyGroupCollectionAttribute |
m_<variablename> Variabile Static Proprietà <variablename> Routine get_<variablename> Routine set_<variablename> |
Variabile WithEvents |
Variabile _<variablename> Proprietà <variablename> Routine get_<variablename> Routine set_<variablename> |
A causa del rischio di conflitti tra nomi, si consiglia di evitare di denominare eventuali elementi di programmazione dichiarati utilizzando la stessa forma di uno di questi membri impliciti. Ad esempio è consigliabile evitare qualsiasi nome di elemento che inizia con get_ o set_.
Per impostazione predefinita, si tratta di un messaggio di avviso. Per ulteriori informazioni su come nascondere gli avvisi o considerarli come errori, vedere Configurazione degli avvisi in Visual Basic.
ID errore: BC40018
Per correggere l'errore
Se si intende nascondere il membro implicito della classe base, ossia eseguirne lo shadowing, includere la parola chiave Shadows nella dichiarazione del membro della classe derivata.
Se non si intende nascondere il membro implicito della classe base, modificare il nome del membro della classe derivata per evitare conflitti con i nomi elencati nella tabella precedente.