Saya memiliki peringatan di bagian bawah layar saya:
Peringatan 1 'WindowsFormsApplication2.EventControlDataSet.Events' menyembunyikan anggota yang diwariskan 'System.ComponentModel.MarshalByValueComponent.Events'. Gunakan kata kunci baru jika memang dimaksudkan untuk menyembunyikan. C: \ Users \ myComputer \ Desktop \ Event Control \ WindowsFormsApplication2 \ EventControlDataSet.Designer.cs 112 32 eventControl
Jika saya mengklik dua kali di atasnya, itu muncul dengan:
public EventsDataTable Events {
get {
return this.tableEvents;
}
Adakah yang bisa memberi tahu saya bagaimana menyingkirkan ini?
new
kunci akan menghilangkan kesalahan kompilasi, tetapi dapat menyebabkan perilaku yang tidak diinginkan lainnya. Saya pikir Anda harus menambahkan peringatan pada jawaban Anda. Itu akan membantu untuk memahami konsekuensi dari penambahannew
.@wdavo benar. Hal yang sama juga berlaku untuk fungsi.
Jika Anda mengganti fungsi dasar, seperti Update, maka di subclass Anda, Anda perlu:
Tanpa new di awal decleration fungsi Anda akan mendapatkan flag peringatan.
sumber
Pada kode di bawah ini,
Class A
mengimplementasikan antarmukaIShow
dan mengimplementasikan metodenyaShowData
.Class B
mewarisiClass A
. Untuk menggunakanShowData
metode diClass B
, kita harus menggunakan kata kuncinew
dalamShowData
metode untuk menyembunyikanClass A
metode kelas dasar dan menggunakanoverride
kata kunci untuk memperluas metode.sumber
override
dalam contoh Anda dari penjelasan Anda danoverride
tidak diperlukan.Fungsi induk membutuhkan
virtual
kata kunci, dan fungsi anak membutuhkanoverride
kata kunci di depan definisi fungsi.sumber