Penjelasan terperinci tentang "=" sintaks dalam pemprosesan acara C#
Dalam pengaturcaraan dipacu acara, sintaks " =" sering digunakan untuk melanggan acara. Walau bagaimanapun, penggunaannya boleh menyebabkan sedikit kekeliruan, terutamanya antara dua notasi berikut:
<code class="language-csharp">[object].[event] += anEvent; [object].[event] += new EventHandler(anEvent);</code>
Intipati tatatanda " = anEvent"
Perwakilan pertama mengambil kesempatan daripada kuasa inferens yang diwakilkan. Apabila menggunakan sintaks ini, pengkompil secara automatik menentukan jenis perwakilan berdasarkan pengendali acara yang disediakan anEvent
. Dalam contoh di atas, acara diandaikan daripada jenis EventHandler
.
Notasi "EventHandler(anEvent)" yang eksplisit
Notasi kedua adalah lebih jelas dan mencipta objek perwakilan baharu jenis EventHandler
sebelum melanggan acara tersebut. Hujah yang diserahkan kepada pembina EventHandler
ialah pengendali acara anEvent
. Pendekatan ini membolehkan lebih kawalan ke atas jenis perwakilan, yang mungkin berguna dalam senario tertentu.
Nota Penting
Perlu dinyatakan bahawa tiada perbezaan praktikal antara kedua-dua notasi ini. Yang pertama ialah gula sintaksis untuk yang kedua, yang diperkenalkan dalam C# 2.0 untuk memudahkan proses melanggan acara. Dalam projek C# 1.0, hanya notasi eksplisit tersedia.
Cadangan
Walaupun kedua-dua notasi adalah sah, notasi " = anEvent" biasanya diutamakan kerana kesederhanaannya. Ia biasanya digunakan dalam asas kod C# moden dan mematuhi prinsip memastikan kod mudah dan boleh dibaca.
Atas ialah kandungan terperinci Apakah Perbezaan Antara ` = anEvent` dan ` = new EventHandler(anEvent)` dalam C# Event Handling?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!