Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 29284|Odpoveď: 1

[Zdroj] Úvod do C# delegátov (delegovať, Akcia, Func, predikát)

[Kopírovať odkaz]
Zverejnené 9. 4. 2018 14:57:15 | | |

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:







Predchádzajúci:rabbitMQ Queue Queue Persistence Message [so zdrojovým kódom]
Budúci:Súhrn informácií o ActiveMQ a RabbitMQ
Zverejnené 17. 12. 2019 19:42:23 |
Mám otázku. Napísal som príliš veľa js a zvykol som si na funkcie spätného volania.

Potom bol Func použitý ako parameter. A tento Func chcem vykonávať asynchrónne. Ak nájdeš nejaké odpovede, môžeš dať Func do Task.Run
Rýchlo zmenil ID vlákna.

A rozprávkovo som použil Func<string,Task<string>> aby som mohol počkať priamo na funkciu, ale zistil som, že vlastne nemenil id vlákna.
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com