Anggota '<membername1>' yang secara implisit mendeklarasikan '<implicitmembername>', yang berkonflik dengan anggota di kelas dasar '<baseclassname>'

Anggota '<membername1>' yang secara implisit mendeklarasikan '<implicitmembername>', yang berkonflik dengan anggota di kelas dasar '<baseclassname>', sehingga anggota tidak boleh dinyatakan 'Overloads'

Properti di kelas turunan menghasilkan anggota implisit dengan nama yang sama dengan anggota kelas dasar dan menentukan kata kunci Kelebihan beban.

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 kelas dasar yang berkonflik tidak menentukan Overloads, kompilator mengasumsikan bahwa properti ini Mengikuti 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: BC40022

Untuk memperbaiki kesalahan ini

  • Jika Anda berniat menyembunyikan, atau mengikuti, anggota kelas dasar, ganti kata kunci Overloads dengan kata kunci Bayangan dalam deklarasi properti.

  • Jika Anda tidak berniat mengikuti anggota kelas dasar, ubah nama properti untuk menghindari konflik nama yang dijelaskan dalam tabel sebelumnya.

Lihat juga