Condividi tramite


La proprietà '<propertyname>' dichiara in modo implicito '<implicitmembername>', che è in conflitto con un membro dichiarato in modo implicito per il membro '<membername>' nella classe di base '<baseclassname>'

Il membro '<membername1>' dichiara in modo implicito '<implicitmembername>', che è in conflitto con un membro dichiarato in modo implicito per il membro '<membername2>' nella classe di base '<baseclassname>'. Quindi, il membro non deve essere dichiarato 'Overloads'.

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

L'overload viene usato per definire più versioni di una proprietà o routine tutte appartenenti alla stessa classe. Non è possibile definire un'ulteriore versione del membro di una classe base a meno che questo non specifichi già Overloads. Dal momento che i membri impliciti non specificano Overloads, il compilatore presuppone che questa proprietà Shadows sia il membro della classe base implicita.

Il compilatore di Visual Basic crea membri impliciti corrispondenti a determinati elementi di programmazione dichiarati. La tabella seguente riepiloga questi membri impliciti o sintetici.

Elemento dichiarato Membri creati in modo implicito
Enumerazione Membrovalue__
Event Routineadd_<eventname>

Routineremove_<eventname>

Campo di<eventname>Event

Delegato<eventname>EventHandler
Proprietà Routineget_<propertyname>

Routineset_<propertyname>
MembroMy.Form , membro My.WebService , membro or member of a class marked with the MyGroupCollectionAttribute Variabile Static m_<variablename>

Proprietà <variablename>

Routineget_<variablename>

Routineset_<variablename>
VariabileWithEvents Variabile_<variablename>

Proprietà <variablename>

Routineget_<variablename>

Routineset_<variablename>

A causa del rischio di conflitti di nomi, è consigliabile evitare di denominare gli elementi di programmazione dichiarati usando la stessa forma di qualsiasi membro implicito. 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 altre informazioni su come nascondere gli avvisi o considerarli come errori, vedere Configuring Warnings in Visual Basic.

ID errore: BC40024

Per correggere l'errore

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

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

Vedi anche