Rumah > pembangunan bahagian belakang > C++ > C# Event Handling: Apakah Perbezaan Antara ` = anEvent` dan ` = new EventHandler(anEvent)`?

C# Event Handling: Apakah Perbezaan Antara ` = anEvent` dan ` = new EventHandler(anEvent)`?

Barbara Streisand
Lepaskan: 2025-01-08 07:26:39
asal
249 orang telah melayarinya

C# Event Handling: What's the Difference Between ` = anEvent` and ` = new EventHandler(anEvent)`?

Perbezaan antara = anEvent dan = new EventHandler(anEvent) dalam C#

Ekspresi Lambda dalam C# memudahkan sintaks untuk menambah pengendali acara, membawa kepada dua amalan biasa:

1 = anEvent

  • Contoh: button1.Click = anEvent;
  • Di sini, anEvent ialah perwakilan yang merujuk kepada kaedah yang akan dilaksanakan apabila acara itu berlaku. Pengkompil secara automatik membuat kesimpulan jenis perwakilan yang betul berdasarkan tandatangan kaedah.

2. = new EventHandler(anEvent)

  • Contoh: button1.Click = new EventHandler(anEvent);
  • Sintaks ini secara eksplisit menentukan jenis perwakilan (EventHandler) sebelum menetapkan pengendali acara.

Perbezaan antara dua kaedah

Perbezaan asas terletak pada mekanisme inferens yang diwakilkan:

  • Dalam kaedah pertama, pengkompil membuat kesimpulan jenis perwakilan dan menyediakan gula sintaks ringkas.
  • Dalam kaedah kedua, jenis perwakilan ditakrifkan secara eksplisit, yang diperlukan dalam projek C# 1.0 kerana inferens perwakilan tidak diperkenalkan sebelum C# 2.0.

Ringkasan: Mereka bersamaan

Kedua-dua kaedah boleh mencapai fungsi yang sama. Kaedah yang anda pilih bergantung kepada pilihan peribadi. Untuk projek C# 2.0 dan lebih tinggi, gunakan = anEvent untuk menjadikan kod anda lebih bersih dan = new EventHandler(anEvent) untuk mentakrifkan jenis perwakilan secara eksplisit.

Atas ialah kandungan terperinci C# Event Handling: Apakah Perbezaan Antara ` = anEvent` dan ` = new EventHandler(anEvent)`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan