Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Meningkatkan Peristiwa Warisan dengan betul dalam C#?
Cara Menaikkan Peristiwa Diwarisi dalam C#
Dalam C#, acara boleh diisytiharkan dalam kelas asas dan diakses oleh kelas terbitan. Walau bagaimanapun, menaikkan acara dalam kelas yang diwarisi memerlukan pengendalian khusus.
Masalah:
Apabila cuba menaikkan acara yang diwarisi daripada kelas asas, anda mungkin menghadapi ralat yang menyatakan bahawa acara hanya boleh muncul di sebelah kiri = atau -= operator.
Penyelesaian:
Untuk menimbulkan peristiwa yang diwarisi, anda mesti mencipta kaedah yang dilindungi dalam kelas asas yang boleh digunakan untuk memanggil peristiwa. Kaedah ini hendaklah mengikut konvensyen penamaan "OnEventName".
Sebagai contoh, pertimbangkan kelas asas berikut:
public class BaseClass { public event EventHandler Loading; public event EventHandler Finished; }
Kaedah Peningkatan Acara Terlindung:
Dalam kelas asas, cipta kaedah yang dilindungi seperti berikut:
protected virtual void OnLoading(EventArgs e) { EventHandler handler = Loading; if (handler != null) { handler(this, e); } } protected virtual void OnFinished(EventArgs e) { EventHandler handler = Finished; if (handler != null) { handler(this, e); } }
Meningkatkan Acara dalam Kelas Terbitan:
Dalam kelas terbitan, panggil kaedah yang dilindungi untuk menaikkan acara:
public class DerivedClass : BaseClass { public void DoSomething() { ... OnLoading(EventArgs.Empty); ... OnFinished(EventArgs.Empty); } }
Nota:
Atas ialah kandungan terperinci Bagaimana untuk Meningkatkan Peristiwa Warisan dengan betul dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!