Ero edustajien ja tapahtumien välillä C #

Keskeinen ero - Delegaatit vs Tapahtumat C #
 

C # on Microsoftin kehittämä ohjelmointikieli. Se tukee jäsenneltyä ohjelmointia ja olio-ohjelmointia. Delegaatteja ja tapahtumia käytetään tapahtumavetoiseen ohjelmointiin C #: ssä. Valtuutettu on tyyppiturvallinen osoitin menetelmälle. Graafisessa käyttöliittymässä (GUI) olevissa sovelluksissa on painikkeita jne. Kun nappia napsautetaan, tapahtuu jonkinlainen toiminta. Niitä toimia kutsutaan tapahtumiksi. Esimerkiksi verkkosivun päivittäminen laukaisee sivun lataustapahtuman. Tässä artikkelissa käsitellään eroa edustajien ja C # -tapahtumien välillä. avainero edustajan ja C # -tapahtuman välillä on se edustaja on viittaus menetelmään, kun tapahtuma liittyy tapahtuman käsittelijään, joka käyttää edustajaa. Kun tapahtuma tapahtuu, se lähettää signaalin edustajalle. Sitten edustaja suorittaa vastaavan toiminnon. Siksi kaikki tapahtumat ovat riippuvaisia ​​edustajista.

SISÄLLYS

1. Yleiskatsaus ja keskeiset erot
2. Mitkä ovat edustajat C #: ssä
3. Mitä ovat C # -tapahtumat
4. Delegaattien ja tapahtumien yhtäläisyydet C # -tapahtumassa
5. Vertailu rinnakkain - Delegaatit vs. tapahtumat C # -taulukossa
6. Yhteenveto

Mitkä ovat edustajat C #: ssä?

C #: n edustajat ovat samanlaisia ​​kuin muiden ohjelmointikielten, kuten JavaScriptin, takaisinsoitto-ominaisuudet. Soittopyynnöt määritetään ajon aikana. Ne tarjoavat toimintoja, jotka voidaan kytkeä sisään ja pois tarvittaessa. Sama voidaan toteuttaa käyttämällä edustajia C #: ssä. C #: n edustajat erottavat soittajan ja soitetun toiminnon. Siksi se vähentää raskasta kytkentää.

.NET-kehys luokittelee tyypit kahteen luokkaan. Ne ovat arvo- ja viitetyyppejä. Rakenne on esimerkki arvotyypistä. Luokka on esimerkki vertailutyypistä. Delegaatteja viitataan myös tyyppeihin. Valtuutettua käytetään pitämään viittaus menetelmään. Ne ovat tyyppiturvallisia osoittimia. Delegoidut ovat peräisin System.Delegate-luokasta. Edustajan ilmoitus on samanlainen kuin menetelmäilmoitus, mutta sisältää avainsanan ”edustaja”. Valtuutetun syntaksi on seuraava. delegoida . Palautustyyppi ilmoittaa palautusarvon menetelmällä. Valtuutettu kutsuu sitä. Parametriluettelo määrittelee menetelmän edellyttämät parametrit. Katso alla oleva ohjelma valtuutettujen kanssa.

Kuva 01: C # -ohjelma valtuutettujen kanssa

Yllä olevan ohjelman mukaan menetelmät calSquare ja calCube ovat samanlaisia ​​kuin ilmoitettu edustaja. Pääohjelmassa muuttuja cal osoitetaan calSquare-toiminnolle. Nyt cal viittaa calSquare-menetelmään. Kun arvo ylitetään, neliöarvo palautetaan ja tulostetaan näytölle. Jälleen cal määritetään calCube-menetelmälle. Nyt cal viittaa calCube-menetelmään. Kun arvo ylitetään, kuution arvo palautetaan ja tulostetaan näytölle. Samaa edustajaa käytetään viitaamaan eri menetelmiin. Siksi se lisää ohjelman joustavuutta.

Mitä ovat C #: n tapahtumat?

Sovelluksessa voi olla näppäinpainalluksia, painikkeiden napsautuksia ja hiiren liikkeitä. Kun näitä tapahtuu, tapahtuma on korostunut. Kun lähetä-painiketta painetaan lähetyslomakkeessa, button_click () -tapahtuma nousee taustalla. Tapahtuma kutsuu suorittamaan liittyvän toiminnon. Kun tapahtuma tapahtuu, sovelluksen vastaus siihen. Tapahtumien käsittelyohjelmassa on kaksi osaa. Kustantaja sisältää tapahtumien määritelmän ja delegoi. Tilaaja hyväksyy tapahtuman ja antaa tapahtuman käsittelijän.

Tapahtuman ilmoitus on tapahtuma; Tapahtumailmoituksen tyypin on oltava edustajan tyyppi, ja edustajan on oltava yhtä helposti tavoitettavissa kuin itse tapahtuma. Tapahtuman nimen tulisi olla kelvollinen C # -nimi.

Kuva 02: C # Tapahtumaohjelma

Edellä olevan ohjelman mukaan edustaja ja tapahtuma luodaan. Laske-luokassa on menetelmä kahden numeron lisäämiseksi. Jos pariton luku löytyy, tapahtuma tapahtuu. Se on eventOddNumber (). Päämenetelmässä eventOddNumber-tapahtumakäsittelijä kutsuu edustajaa. Lopuksi edustaja suorittaa menetelmän.

Mikä on edustajien ja tapahtumien samankaltaisuus C #: ssä?

  • Sekä edustajat että C # -tapahtumat liittyvät tapahtumavetoiseen

Mitä eroa edustajien ja tapahtumien välillä on C #?

Delegaatit vs. tapahtumat C #: ssä

Valtuutettu on viitetyyppimuuttuja, jolla on viittaus menetelmään. Tapahtuma on edustajatyyppinen luokan jäsen, jota objekti tai luokka käyttää ilmoittamaan muille kohteille, että tapahtuma on tapahtunut.
 avainsana
Valtuutettu ilmoitetaan avainsanalla 'valtuutettu'. Tapahtuma ilmoitetaan käyttämällä ”tapahtuma” -sanaa.
riippuvuus
Delegaatit ovat epäluotettavia. Tapahtumat ovat riippuvaisia ​​edustajista.

Yhteenveto - Delegaatit vs Tapahtumat C #

Delegaatit ja tapahtumat ovat kaksi käsitettä, jotka liittyvät tapahtumavetoiseen ohjelmointiin C #: ssä. Tässä artikkelissa käsiteltiin eroa edustajien ja C # -tapahtumien välillä. Ero edustajan ja tapahtuman välillä C #: ssä on, että edustaja on viittaus menetelmään, kun tapahtuma liittyy tapahtuman käsittelijään, joka käyttää edustajaa. Tapahtumat ovat riippuvaisia ​​edustajista. Kun tapahtuma tapahtui, se lähettää signaalin edustajalle. Sitten edustaja suorittaa vastaavan toiminnon

Viite:

1.Balagurusamy, E. Ohjelmointi C #: ssä, ensi-ilta. Neljäs toim., McGraw Hill Education (India) Private Limited, 2016.
2. ”Päävalikko”. C-opetusohjelma. Saatavilla täältä 
3.sachinbpaul. Delegaatit C #: ssä, Sachin Paul, 1. lokakuuta 2014. Saatavilla täältä