1. Čo je to zverenie?
Delegát je typ referencie, ktorý je spravovanou verziou ukazovateľa funkcie. V C# sú delegáti typ, ktorý ukladá odkazy ako funkcie. Delegáti môžu odkazovať na inštancie aj statické metódy, zatiaľ čo ukazovatele funkcií môžu odkazovať iba na statické metódy. Deklarácia delegáta je veľmi podobná funkcii, na rozdiel od funkcie v tom, že delegát nemá telo funkcie a vyžaduje kľúčové slovo Delegát. Delegovaná deklarácia špecifikuje podpis funkcie, ktorý obsahuje zoznam parametrov a typ návratu. Keď je delegát definovaný, môže byť deklarovaná premenná typu delegát, ktorá môže byť následne inicializovaná ako referencovaná funkciou s rovnakým podpisom ako delegát, a potom ju možno volať pomocou premennej delegát. (ps: V skutočnosti mu zveril triedu a jeho cieľom bolo odovzdať metódu ako parameter iným metódam!) )
Delegáti, hoci sú veľmi podobní ukazovateľom funkcií, nie sú ukazovateľmi. Mnohí ľudia uvádzajú . Delegát v .NET sa chápe ako bezpečný ukazovateľ funkcie, čo je nepravdepodobné, a ukazovateľ funkcie implementácie delegáta je veľmi podobný tým, že poskytuje mechanizmus spätného volania programu.
2. Štyri kroky zverenia: 1. Vyhlásiť typ zverenia
2. Existuje metóda, ktorá obsahuje kód, ktorý sa má vykonať
3. Vytvoriť delegovanú inštanciu
4. Zavolajte inštanciu delegáta
3. Príklady:
|