Acara lwn. Perwakilan: Perbezaan dan Aplikasi
Perbezaan antara acara dan perwakilan mungkin tidak jelas serta merta, menyebabkan kekeliruan mengenai penggunaannya . Acara biasanya dianggap sebagai gula sintaksis untuk perwakilan, tetapi terdapat nuansa halus yang memerlukan penjelasan.
Acara
Acara tersuai ialah pengubah suai skop untuk perwakilan multicast, menyediakan beberapa kelebihan utama:
Delegasi
Delegasi digunakan untuk merujuk kaedah dan boleh multicast, membenarkan berbilang kaedah digunakan sebagai tindak balas kepada acara. Kelebihan utama perwakilan termasuk:
Bila Menggunakan Mana
Contoh Kod
Pertimbangkan contoh berikut menggambarkan penggunaan kedua-dua acara dan perwakilan:
public class MyClass { public event EventHandler MyEvent; // Event public delegate void MyDelegate(); // Delegate public void TriggerEvent() { MyEvent?.Invoke(this, EventArgs.Empty); } public void AddDelegateHandler(MyDelegate handler) { MyDelegate += handler; // Delegate } } // Usage public class Client { public void HandleEvent(object sender, EventArgs e) { // Event handler implementation } public void HandleDelegate() { // Delegate implementation } }
Dalam kod ini:
Atas ialah kandungan terperinci Acara lwn Perwakilan: Bilakah Anda Harus Menggunakan Yang Mana?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!