Dela via


Medlemmen "<membername1>" deklarerar implicit "<implicitmembername>", som står i konflikt med en medlem som implicit deklarerats för medlemmen "<membername2>" i basklassen "<baseclassname>"

Medlemmen "<membername1>" deklarerar implicit "<implicitmembername>", som står i konflikt med en medlem som implicit deklarerats för medlemmen "<membername2>" i basklassen "<baseclassname>". Medlemmen bör därför deklareras som "Skuggor".

En medlem i en härledd klass genererar en implicit medlem med samma namn som en implicit medlem i basklassen. Eftersom implicita medlemmar inte anger Överlagringar förutsätter kompilatorn att den här medlemmen skuggar den implicita basklassmedlemmen. Din kod är mer läsbar och mindre felbenägen om du uttryckligen anger nyckelordet Shadows för den här medlemmen.

Visual Basic-kompilatorn skapar implicita medlemmar som motsvarar vissa programmeringselement som du deklarerar. I följande tabell sammanfattas dessa implicita eller syntetiska medlemmar.

Deklarerat element Implicit skapade medlemmar
Uppräkning value__ medlem
Event add_<eventname> procedur

remove_<eventname> procedur

<eventname>Event fält

<eventname>EventHandler delegera
Property get_<propertyname> procedur

set_<propertyname> procedur
My.Form medlem, My.WebService medlem eller medlem i en klass som markerats MyGroupCollectionAttribute med attributet m_<variablename>Static variabel

<variablename> egenskap

get_<variablename> procedur

set_<variablename> procedur
WithEvents variabel _<variablename> variabel

<variablename> egenskap

get_<variablename> procedur

set_<variablename> procedur

På grund av risken för namnkonflikter bör du undvika att namnge alla deklarerade programmeringselement med samma formulär som någon av dessa implicita medlemmar. Du bör till exempel undvika alla elementnamn som börjar med get_ eller set_.

Som standard är det här meddelandet en varning. Mer information om hur du döljer varningar eller behandlar varningar som fel finns i Konfigurera varningar i Visual Basic.

Fel-ID: BC40018

Så här åtgärdar du det här felet

  • Om du tänker dölja eller skugga den implicita basklassmedlemmen inkluderar du nyckelordet Skuggor i deklarationen för den härledda klassmedlemmen.

  • Om du inte tänker skugga den implicita basklassmedlemmen ändrar du namnet på den härledda klassmedlemmen för att undvika konflikter med namn som anges i föregående tabell.

Se även