La proprietà '<nomeproprietà>' dichiara in modo implicito '<nomemembroimplicito>', che è in conflitto con un membro dichiarato in modo implicito per il membro '<nomemembro>' nella classe base '<nomeclassebase>'

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>' Pertanto il membro non deve essere dichiarato 'Overloads'.
Member '<membername1>' implicitly declares '<implicitmembername>', which conflicts with a member implicitly declared for member '<membername2>' in the base class '<baseclassname>'. So the member should not be declared 'Overloads'.

Una proprietà di una classe derivata genera un membro implicito con lo stesso nome di un membro implicito della classe base e specifica la parola chiaveOverloads.

L'overload è utilizzato per definire versioni multiple di una proprietà o routine tutte nella stessa classe. Non è possibile definire una versione aggiuntiva di un membro di una classe base a meno che tale membro specifichi già Overloads. Poiché i membri impliciti non specificano Overloads, il compilatore presume che questa proprietà presenti il valoreShadows per il membro implicito della classe base.

Il compilatore Visual Basic crea membri impliciti corrispondenti a determinati elementi di programmazione dichiarati. Nella tabella riportata di seguito vengono riassunti 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: BC40024

Per correggere l'errore

  • Per nascondere il membro implicito della classe base, sostituire la parola chiave Overloads con la parola chiave Shadows nella dichiarazione della proprietà.

  • Se invece si preferisce non nascondere il membro implicito della classe base, modificare il nome della proprietà per evitare conflitti con i nomi riportati nella tabella precedente.

Vedere anche

Concetti

Nomi di elementi dichiarati