Perbezaan antara perwakilan dan acara dalam C#

WBOY
Lepaskan: 2023-08-30 12:25:13
ke hadapan
874 orang telah melayarinya

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!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!