Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 29284|Odgovoriti: 1

[Vir] Uvod v C# delegate (delegate, Action, Func, predikat)

[Kopiraj povezavo]
Objavljeno na 9. 04. 2018 14:57:15 | | |

Delegat je razred, ki definira vrsto metode, da jo lahko kot argument posreduje drugi metodi. Dogodek je posebna komisija.

1. Izjava o zaupanju

(1). delegat

        Delegat

   Delegate ima vsaj 0 parametrov in največ 32 parametrov ter ne more imeti vrnjene vrednosti ali določiti vrste vrnjene vrednosti.

   Na primer, javni delegat int MethodtDelegate(int x, int y); Označuje, da obstajata dva parametra, in vrne int tip.

(2). Delovanje

       Akcija je generični delegat brez vrnjene vrednosti.

Akcija predstavlja delegata brez parametrov in brez vrnjene vrednosti

Action<int,string> označuje delegata z vhodnim parametrom int in brez vrnjene vrednosti za niz

  Action<int,string,bool> označuje delegata z vhodnimi parametri int,string,bool brez vrnjenih vrednosti

       Action<int,int,int,int> pomeni, da so v in preneseni 4 parametri tipa int in ni vrnjene vrednosti

Akcija ima vsaj 0 parametrov in največ 16 parametrov, brez vrnjene vrednosti.

Primer:



(3). Func

Func je generični delegat z vrnjeno vrednostjo

Func<int> pomeni delegata brez parametrov in vrne vrednost int

Func<object,string,int> predstavlja delegata z vhodnim parametrom kot objektom, niz pa vrne vrednost int

Func<object,string,int> predstavlja delegata z vhodnim parametrom kot objektom, niz pa vrne vrednost int

Func<T1,T2,T3,int> predstavlja delegata z vhodnimi parametri T1, T2, ,T3 (generično), ki vrača vrednost int

Func ima vsaj 0 parametrov in največ 16 parametrov, ki se vrnejo glede na generično vrnjeno vrednost. Mora obstajati povratna vrednost, ne pa nična


Primer:




(4) .predikat

Predikat je generični delegat, ki vrne tip bool

Predikat<int> predstavlja delegata z vhodnim parametrom int, ki vrača bool

Predikat ima in samo en parameter, povratna vrednost pa je fiksna na bool

Primer:







Prejšnji:rabbitMQ Queue Queue Message Persistence [z izvorno kodo]
Naslednji:Povzetek informacij o ActiveMQ in RabbitMQ
Objavljeno na 17. 12. 2019 19:42:23 |
Imam vprašanje. Napisal sem preveč js in se navadil na callback funkcije.

Nato je bil Func uporabljen kot parameter. In ta Func želim izvajati asinhrono. Če najdeš kakšne odgovore, lahko Func vpišeš v Task.Run
Hitro je zamenjal ID niti.

In na domiselni način sem uporabil Func<string,Task<string>> da sem lahko neposredno počakal na funkcijo, a sem ugotovil, da v resnici ni zamenjal ID-ja niti.
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com