secara berkesan berhenti melanggan pengendali acara tanpa nama di C#
acara C# membolehkan pengendalian peristiwa dinamik melalui penambahan pengendali acara (kaedah). Kaedah Anonymous, yang ditakrifkan menggunakan ekspresi Lambda atau ekspresi perwakilan, memberikan cara ringkas untuk membuat pengendali ini secara langsung dalam langganan acara. Walau bagaimanapun, mengeluarkan pengendali tanpa nama ini memerlukan pendekatan tertentu.
Memahami Pengendali Acara Kaedah Anonymous
Kaedah Anonymous adalah blok kod sebaris; Tidak seperti kaedah bernama, mereka tidak mempunyai perisytiharan rasmi. Ini membuat tidak melanggan lebih mencabar kerana mereka tidak mempunyai nama yang mudah dikenal pasti.
Melanggan dengan kaedah tanpa nama: Contoh mudah
Langgan adalah mudah:
<code class="language-csharp">MyEvent += delegate { Console.WriteLine("Event triggered!"); };</code>
Kunci untuk berhenti melanggan adalah untuk menyimpan rujukan kepada kaedah tanpa nama sebelum melampirkannya ke acara:
Sekarang, berhenti melanggan menjadi mungkin:
<code class="language-csharp">Action myEventHandler = delegate { Console.WriteLine("Event triggered!"); }; MyEvent += myEventHandler;</code>
Dengan memegang perwakilan tanpa nama dalam pembolehubah (
<code class="language-csharp">MyEvent -= myEventHandler;</code>
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyahlanggan Kaedah Tanpa Nama daripada Acara dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!