Properti '<propertyname>' secara implisit menyatakan '<implicitmembername>', yang bertentangan dengan anggota secara implisit dinyatakan untuk anggota '<membername>' di kelas dasar '<baseclassname>'

Anggota '<membername1>' secara implisit menyatakan '<implicitmembername>', yang bertentangan dengan anggota yang secara implisit dinyatakan untuk anggota '<membername2>' dalam '<baseclassname>' kelas dasar. Jadi anggota tidak boleh dinyatakan 'Overload'.

Properti di kelas turunan menghasilkan anggota implisit dengan nama yang sama sebagai anggota implisit kelas dasar dan menetapkan kata kunci Overloads.

Overloading digunakan untuk mendefinisikan beberapa versi properti atau prosedur semua di kelas yang sama. Anda tidak dapat menentukan versi tambahan dari anggota kelas dasar kecuali jika anggota kelas dasar tersebut telah menentukan Overloads. Karena anggota implisit tidak menentukan Overloads, pengompilasi mengasumsikan bahwa properti ini Membayangi anggota kelas dasar implisit.

Kompilator Visual Basic membuat anggota implisit yang sesuai dengan elemen pemrograman tertentu yang Anda deklarasikan. Tabel berikut merangkum anggota implisit, atau sintetis ini.

Elemen yang dideklarasikan Anggota yang dibuat secara implisit
Enumeration value__ anggota
Kejadian add_<eventname> prosedur

remove_<eventname> prosedur

<eventname>Event bidang

<eventname>EventHandler delegasi
Properti get_<propertyname> prosedur

set_<propertyname> prosedur
My.Form anggota, My.WebService anggota, atau anggota kelas yang ditandai dengan atribut MyGroupCollectionAttribute m_<variablename>Static variabel

Properti <variablename>

get_<variablename> prosedur

set_<variablename> prosedur
WithEvents variabel _<variablename> variabel

Properti <variablename>

get_<variablename> prosedur

set_<variablename> prosedur

Karena risiko konflik nama, Anda harus menghindari penamaan elemen pemrograman yang dideklarasikan menggunakan bentuk yang sama dengan salah satu anggota implisit ini. Misalnya, Anda harus menghindari nama elemen apa pun yang dimulai dengan get_ atau set_.

Secara default, pesan ini adalah peringatan. Untuk informasi selengkapnya tentang menyembunyikan peringatan atau memperlakukan peringatan sebagai kesalahan, lihat Mengonfigurasi Peringatan di Visual Basic.

ID Kesalahan: BC40024

Untuk memperbaiki kesalahan ini

  • Apabila Anda bermaksud menyembunyikan, atau membayangi, anggota kelas dasar implisit, ganti kata kunci Kelebihan Beban dengan kata kunci Bayangan dalam deklarasi properti.

  • Apabila Anda tidak bermaksud untuk membayangi anggota kelas dasar implisit, ubah nama properti untuk menghindari konflik dengan nama yang tercantum dalam tabel sebelumnya.

Lihat juga