Delegát je trieda, ktorá definuje typ metódy tak, aby mohla byť odovzdaná ako argument inej metóde. Udalosť je špeciálna zákazka.
1. Vyhlásenie o zverení
(1). delegovať
Delegát
Delegát má aspoň 0 parametrov a maximálne 32 parametrov, a nemôže mať žiadnu návratovú hodnotu ani špecifikovať typ vrátenej hodnoty.
Napríklad verejný delegát int MethodtDelegate(int x, int y); Označuje, že existujú dva parametre a vráti int typ.
(2). Akcia
Akcia je generický delegát bez návratovej hodnoty.
Akcia reprezentuje delegáta bez parametrov a bez návratovej hodnoty
Action<int,string> označuje delegáta s prichádzajúcim parametrom int a bez návratovej hodnoty reťazca
Action<int,string,bool> označuje delegáta s prichádzajúcimi parametrami int,string,bool bez vrátených hodnôt
Action<int,int,int,int> znamená, že sú zadané 4 parametre typu int a neexistuje žiadna vrátená hodnota
Akcia má aspoň 0 parametrov a maximálne 16 parametrov, bez návratovej hodnoty.
Príklad:
(3). Func
Func je generický delegát s návratnou hodnotou
Func<int> znamená delegáta bez parametrov a vracia hodnotu int
Func<object,string,int> reprezentuje delegáta s prichádzajúcim parametrom ako objektom a reťazec vráti hodnotu int
Func<object,string,int> reprezentuje delegáta s prichádzajúcim parametrom ako objektom a reťazec vráti hodnotu int
Func<T1,T2,,T3,int> reprezentuje delegáta s prichádzajúcimi parametrami T1, T2, ,T3 (generické), ktoré vracajú hodnotu int
Func má aspoň 0 parametrov a maximálne 16 parametrov, ktoré sa vracajú podľa generickej vrátenej hodnoty. Musí existovať návratná hodnota, nie neplatná
Príklad:
(4) .predikát
Predikát je generický delegát, ktorý vracia bool typ
Predikát<int> reprezentuje delegáta s prichádzajúcim parametrom int, ktorý vracia bool
Predikát má a iba jeden parameter a návratová hodnota je pevne daná na bool
Príklad:
|