Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 29284|Antwoord: 1

[Bron] Introductie tot C#-delegates (delegate, Actie, Func, predicaat)

[Link kopiëren]
Geplaatst op 09-04-2018 14:57:15 | | |

Een delegate is een klasse die het type methode definieert zodat deze als argument aan een andere methode kan worden doorgegeven. Een evenement is een speciale opdracht.

1. Toevertrouwensverklaring

(1). delegatie

        Delegatie

   Delegate heeft minstens 0 parameters en maximaal 32 parameters, en kan geen retourwaarde hebben of een type retourwaarde specificeren.

   Bijvoorbeeld, publieke gedelegeerde int MethodtDelegate(int x, int y); Geeft aan dat er twee parameters zijn, en geeft een int-type terug.

(2). Actie

       Actie is een generieke delegate zonder retourwaarde.

Actie vertegenwoordigt een gedelegeerde zonder parameters en zonder retourwaarde

Action<int,string> geeft een delegate aan met een binnenkomende parameter int en geen retourwaarde voor string

  Actie<int,string,bool> duidt een delegatie aan met binnenkomende parameters int,string,bool zonder retourwaarden

       Actie<int, int, int, int> betekent dat er 4 int-type parameters worden doorgegeven en dat er geen retourwaarde is

Actie heeft minstens 0 parameters en maximaal 16 parameters, zonder terugkoppelwaarde.

Voorbeeld:



(3). Func

Func is een generieke delegate met een retourwaarde

Func<int> betekent een delegate zonder parameters en geeft een int-waarde terug

Func<object,string,int> vertegenwoordigt een delegate met de binnenkomende parameter als object en de string geeft een int-waarde terug

Func<object,string,int> vertegenwoordigt een delegate met de binnenkomende parameter als object en de string geeft een int-waarde terug

Func<T1,T2,,T3,int> vertegenwoordigt een delegate met de inkomende parameter T1, T2, ,T3 (generiek) die een int-waarde teruggeeft

Func heeft minstens 0 parameters en maximaal 16 parameters, die worden teruggegeven volgens de generieke retourwaarde. Er moet een retourwaarde zijn, niet ongeldig


Voorbeeld:




(4) .predicaat

Predicaat is een generieke delegate die een bool-type teruggeeft

Predicaat<int> vertegenwoordigt een gedelegeerde met de inkomende parameter int die bool teruggeeft

Predicaat heeft en slechts één parameter, en de retourwaarde is vastgelegd op bool

Voorbeeld:







Vorig:rabbitMQ Queue Queue Message Persistence [met broncode]
Volgend:Samenvatting van informatie over ActiveMQ en RabbitMQ
Geplaatst op 17-12-2019 19:42:23 |
Ik heb een vraag. Ik schreef te veel js en raakte gewend aan callback-functies.

Daarna werd Func als parameter gebruikt. En deze Func wil ik asynchroon uitvoeren. Als je antwoorden vindt, kun je Func in Task.Run zetten
Hij wisselde snel de thread-ID.

En ik gebruikte op een speelse manier Func<string,Task<string>> zodat ik direct op de functie kon wachten, maar merkte dat hij de thread-id niet echt had verwisseld.
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com