Ц # је програмски језик који је развио Мицрософт. Подржава структурирано програмирање и објектно оријентисано програмирање. Делегати и догађаји користе се за програмирање засновано на догађајима у Ц #. Делегат је показивач типа који је сигуран за тип. У апликацији с графичким корисничким интерфејсом (ГУИ) постоје тастери итд. Када се кликне на неко дугме, долази до неке акције. Те акције се називају догађајима. На пример, освежавање веб странице покренуће догађај учитавања странице. Овај чланак говори о разлици између делегата и догађаја у Ц #. Тхе кључна разлика између делегата и догађаја у Ц # је то делегат је референца на методу, док је догађај повезан са руковаоцем догађаја помоћу делегата. Када се догоди неки догађај, он шаље сигнал делегату. Тада делегат извршава одговарајућу функцију. Стога сви догађаји зависе од делегата.
1. Преглед и кључне разлике
2. Шта су делегати у Ц #
3. Шта су догађаји у Ц #
4. Сличности између делегата и догађаја у Ц #
5. Упоредно упоређивање - Делегати вс догађаји у Ц # у табеларном облику
6. Резиме
Делегати у Ц # слични су функцијама повратног позива у другим програмским језицима као што је ЈаваСцрипт. Функције повратног позива додељују се током извођења. Омогућавају функционалност која се по потреби може пребацити и искључити. Исто се може имплементирати користећи делегате у Ц #. Делегати у Ц # одвајају позиваоца и позвану функцију. Стога смањује тешку спојку.
.НЕТ Фрамеворк класификовани типови у две категорије. Они су типови вредности и референтни типови. Структура је пример типа вредности. Класа је пример референтног типа. Делегати су такође референцирани типови. Делегат се користи за референцу на методу. Они су безбедносни показивачи. Делегирани су изведени из класе Систем.Делегате. Декларација делегата је слична декларацији метода, али садржи кључну реч 'делегат'. Синтакса делегата је следећа. делегат . Врста повратка декларира повратну вриједност методом. Позва га делегат. Листа параметара дефинира параметре потребне у методи. Погледајте доњи програм са делегатима.
Слика 01: Ц # програм са делегатима
Према горе наведеном програму, методе цалСкуаре и цалЦубе сличне су декларираном делегату. У главном програму је променљива цал додељена функцији цалСкуаре. Сада, цал упућује на цалСкуаре методу. При преносу вредности враћа се квадратна вредност и штампа се на екрану. Опет, цал је додељен методи цалЦубе. Сад, цал упућује на методу цалЦубе. При преносу вредности, вредност коцке се враћа и исписује на екрану. Исти делегат користи се за упућивање различитих метода. Стога повећава флексибилност програма.
У апликацији могу бити притисци на тастере, кликови на дугме и покрети миша. Када се то догоди, догађај ће се покренути. Када се тастер за слање притисне у обрасцу за подношење, у позадини се подиже догађај буттон_цлицк (). Догађај позива извршење придружене функције. Када се догоди догађај, одговор апликације на то. Постоје два одељка у програму руковања догађајима. Издавач садржи дефиницију догађаја и делегиран. Претплатник прихвата догађај и пружа руководиоцу догађаја.
Декларација догађаја је догађај; Врста декларације о догађају мора бити врста делегата, а делегат мора бити једнако доступан као и сам догађај. Назив догађаја треба да буде валидно Ц # име.
Слика 02: Ц # програм са догађајима
Према горе наведеном програму, делегат и догађај се креирају. У класи Цалцулате постоји метода за додавање два броја. Ако се пронађе непаран број, догађај ће се догодити. То је догађај ЕвентОддНумбер (). У главном методу, обрадник догађаја евентОддНумбер позива делегата. На крају, делегат извршава методу.
Делегати вс догађаји у Ц # | |
Делегат је варијабла референтног типа која садржи референцу на методу. | Догађај је члан класе делегатског типа који објект или класа користе за пружање обавештења другим објектима о догађају. |
Кључна реч | |
Делегат је деклариран помоћу кључне речи 'делегате'. | Догађај се декларира помоћу кључне речи „догађај“. |
Зависност | |
Делегати су неодређени. | Догађаји зависе од делегата. |
Делегати и догађаји су два концепта повезана са програмирањем заснованим на догађајима у Ц #. Овај чланак говори о разлици између делегата и догађаја у Ц #. Разлика између делегата и догађаја у Ц # је што је делегат референца на методу, док је догађај повезан са руковаоцем догађаја који користи делегат. Догађаји зависе од делегата. Када се догодио неки догађај, он шаље сигнал делегату. Тада делегат извршава одговарајућу функцију
1.Балагурусами, Е. Програмирање у Ц #, премијера. Четврто издање, МцГрав Хилл Едуцатион (Индија) Привате Лимитед, 2016.
2. "Примарни мени." Ц Туториал. Доступно овде
3.сацхинбпаул. Делегати у Ц #, Сацхин Паул, 1. окт. 2014. Доступно овде