Anggota '<membername1>' secara implisit menyatakan '<implicitmembername>', yang bertentangan dengan anggota yang secara implisit dinyatakan untuk anggota '<membername2>' dalam 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 harus dinyatakan 'Bayangan'.
Seorang anggota kelas turunan menghasilkan anggota implisit dengan nama yang sama dengan anggota implisit dari kelas dasar. Karena anggota implisit tidak menentukan Kelebihan beban, kompilator mengasumsikan bahwa anggota ini Membayangi anggota kelas dasar implisit. Kode Anda lebih mudah dibaca, dan kurang rentan terhadap kesalahan, jika Anda secara eksplisit menentukan Shadows
kata kunci untuk anggota ini.
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> prosedurremove_<eventname> prosedur<eventname>Event bidang<eventname>EventHandler delegasi |
Properti | get_<propertyname> prosedurset_<propertyname> prosedur |
My.Form anggota, My.WebService anggota, atau anggota kelas yang ditandai dengan atribut MyGroupCollectionAttribute |
m_<variablename> Static variabelProperti <variablename> get_<variablename> prosedurset_<variablename> prosedur |
WithEvents variabel |
_<variablename> variabelProperti <variablename> get_<variablename> prosedurset_<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: BC40018
Jika Anda berniat untuk menyembunyikan, atau membayangi, anggota kelas dasar implisit, sertakan kata kunci Bayangan dalam deklarasi anggota kelas turunan.
Jika Anda tidak berniat untuk membayangi anggota kelas dasar implisit, ubah nama anggota kelas turunan untuk menghindari konflik dengan nama yang tercantum dalam tabel sebelumnya.
Umpan balik .NET
.NET adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik: