Делегаты и события в коде
Разница между делегатом и событием такая же, как между методом и делегатом. Как делегат состоит из методов, так и событие - из делегатов. Вообразите условную иерархию (начало с низшего уровня): переменные и операции с методы < делегаты < события. События - следующий уровень абстракции над делегатами. ви трішки не так зрозуміли, Константину незрозуміло(як і мені) для чого створювати подію якщо можна створити об'єкт делегату. Ось приклад: delegate void AccountHandler(string m); AccountHandler handler1; event AccountHandler handler2; яка різниця між handler1 і handler2 якщо обидві змінні мають один функціонал? C# окім-або об'єктілер арасындағы байланысын қамтамасыз ету үшін қолданылатын делегаттың ерекше түрі. Бұл нысанға осындай хабарламаларды алу үшін тіркелген басқа нысандар үшін хабарлама алуға мүмкіндік береді. Нысан оқиғаны көтергенде, ол оқиғаға "ісқ қоздаді" дейді. Осы объектінен хабарлама алу үшін тіркелген басқа нысандар оқиға басталған кезде шақырылатын оқиға өңдеушілерінің ұсына алады. Екінші жағынан, Делегат-бұл әдіс қолтаңбасын білдіретін түрі. Әдісті басқа әдіске делегат ретінде беру үшін немесе әдісті асинхронды түрде шақыру үшін делегатты пайдалануға болады. Сіздің мысалыңызда handler1-бұл делегат нысаны, ол аргумент ретінде жолды қабылдайтын және void қайтаратын әдіске сілтеме жасай алады. handler2-делегаттың бір түріне негізделген оқиға. Бұл дегеніміз аргумент ретінде жолды қабылдайтын және void қайтаратын әдіске сілтеме болуы мүмкін дегенді білдіреді. Дегенмен, handler2-бұл оқиға, яғни оқиға болған кезде басқа нысандар хабарландыру алу үшін тіркеле алады.
Бұл бағдарламалау туралы пікірталас скриншоты: авторлар делегаттар мен оқиғалардың айырмашылығын түсіндіреді, ал соңғы жауап оқиғаның делегатқа негізделгенін айтады. Әзіл — күрделі және қате жазылған техникалық түсіндірме бастапқы сұрақтан да түсініксіз болып кетеді; мұндай мемді кодтағы түсініксіз талқылауға немесе шамадан тыс ақылды жауапқа реакция ретінде жібереді. EN: This is a screenshot of a programming discussion: the commenters explain the difference between delegates and events, while the final answer says that an event is based on a delegate. The joke is that the complicated and error-filled technical explanation becomes even less understandable than the original question; people send this meme as a reaction to confusing code discussions or overly clever answers.
- @beobanka / 25840 2023-06-01
- Type
- image
- Size
- 800×613 · 99.2 KiB
- Mood
- абсурдный, запутанный
- Language
- uk
- Added