Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Perbezaan antara perwakilan dan acara dalam C#

Perbezaan antara perwakilan dan acara dalam C#

WBOY
WBOYke hadapan
2023-08-30 12:25:13951semak imbas

C# 中的委托和事件之间的区别

Dalam artikel ini, kita akan memahami perbezaan antara perwakilan dan acara dalam C#.

Delegate

  • Ia boleh diisytiharkan menggunakan kata kunci "delegate".
  • Ia adalah penunjuk fungsi.

  • Ia menyimpan rujukan kepada satu atau lebih kaedah pada masa jalan.

  • Ia adalah kata kunci bebas.

  • Ia tidak bergantung pada acara

  • Ia mengandungi kaedah Combine() dan Remove() yang membantu dalam menambah kaedah pada senarai panggilan.

  • Ia boleh dihantar sebagai parameter kepada kaedah.

  • Pengendali "=" boleh digunakan untuk menetapkan satu kaedah.

  • Pengendali "+=" boleh digunakan untuk menetapkan berbilang kaedah kepada perwakilan.

Events

  • boleh diisytiharkan menggunakan kata kunci "event".

  • Ia boleh ditakrifkan sebagai mekanisme pemberitahuan yang bergantung pada perwakilan.

  • Terpulang pada komisyen.

  • Ia tidak boleh dibuat tanpa perwakilan.

  • Ia boleh difahami sebagai pembungkus untuk contoh perwakilan.

  • Ini membantu menghalang pengguna perwakilan daripada menetapkan semula perwakilan dan senarai panggilannya.

  • Ia hanya membenarkan menambah atau mengalih keluar sasaran daripada senarai panggilan.

  • Kelas "EventInfo" menyemak acara dan membantu mengikat pengendali acara.

  • Pengendalian ini termasuk kaedah seperti AddEventHandler() dan RemoveEventHandler(), yang membantu menambah dan mengalih keluar kaedah masing-masing pada senarai panggilan.

  • boleh menimbulkan peristiwa tetapi tidak boleh dihantar sebagai parameter kepada kaedah.

  • Pengendali "=" tidak boleh digunakan dengan acara.

  • Pengendali "+=" dan "-=" boleh digunakan dengan acara untuk menambah atau mengalih keluar pengendali acara masing-masing.

  • Kaedah ini akan dipanggil secara dalaman seperti AddEventHandler dan Padamkan EventHandler.

Atas ialah kandungan terperinci Perbezaan antara perwakilan dan acara dalam C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam