Je to provízia? Delegát je typovo bezpečný objekt, ktorý ukazuje na inú metódu (alebo metódy) v programe, ktorá bude volaná neskôr. Laicky povedané, delegát je objekt, ktorý môže odkazovať na metódu, a keď je vytvorený delegát, vytvorí objekt, ktorý odkazuje na metódu, a potom môže byť metóda zavolaná, teda delegát môže zavolať metódu, na ktorú odkazuje.
Ako mám používať delegáciu? 1. Definovať typ zverenia
[modifikátor prístupu]Delegát vráti typ, meno delegátu (parametre);
2. Deklarujte zverený objekt
Meno delegáta Názov delegovanej inštancie;
3. Vytvoriť objekt delegácie (určiť, na ktorú metódu sa naviazať)
Názov inštancie delegát=Nový názov delegáta (metóda určitej triedy)
4. Použite metódu zvereného hovoru
Delegovaný názov inštancie (parameter)
Opatrenia pri zverení:1. Delegácia a metóda musia mať rovnaké parametre.
2、Delegát môže volať viacero metód, t. j. delegát môže udržiavať zoznam volateľných metód namiesto jednej metódy, známej ako multicast (multicast)。
3、Metóda implementácie zvyšuje a znižuje pomocou operácií += a -=
Príklad:
Písanie:
1. Meno delegáta = nový delegát (názov metódy, ktorý bude volaný); Názov objednávky (parametre);
2. Delegát delegát = názov metódy, ktorý bude volaný; Názov objednávky (parametre);
3. Anonymná metóda
delegát delegát meno=delegát(parameter){telo metódy, ktoré bude volané}; Názov objednávky (parametre);
4. Lambda výraz
Názov poradia delegáta=((parameter 1,。。 parameter n)=>{telo metódy, ktoré bude volané}); Názov objednávky (parametre);
5. Použite Action <T>a Func<T>, prvý nemá žiadnu návratovú hodnotu
Func< Parameter 1, Parameter 2, Return Value> Delegate Name = ((Parameter 1, Parameter 2) => {telo metódy s vrátenou hodnotou }); Return value = názov objednávky (parameter 1, parameter 2);
Kód nálepky:
|