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

Bekijken: 18347|Antwoord: 0

[Communicatie] Delegate in C#

[Link kopiëren]
Geplaatst op 07-02-2019 21:08:45 | | |
1. Wat is toevertrouwen?

Een delegate is een referentietype, dat een beheerde versie is van een functiepointer. In C# zijn delegates een type dat referenties als functies opslaat. Gedelegeerden kunnen zowel instanties als statische methoden refereren, terwijl functiepointers alleen statische methoden kunnen verwijzen. De delegate-declaratie lijkt sterk op een functie, in tegenstelling tot een functie doordat de delegate geen functiebody heeft en het sleutelwoord Delegate vereist. De gedelegeerde verklaring specificeert een functiehandtekening die een lijst van parameters en een retourtype bevat. Zodra de delegate is gedefinieerd, kan een variabele van het type delegate worden gedeclareerd, die vervolgens kan worden geïnitialiseerd als referentie door een functie met dezelfde handtekening als de delegate, die vervolgens kan worden aangeroepen met de delegatevariabele. (ps: Sterker nog, hij vertrouwde hem een les toe, en zijn doel was om de methode als referentiepunt te doorgeven aan andere methoden!) )

Delegates, hoewel erg vergelijkbaar met functiepointers, zijn geen pointers. Veel mensen zetten . De delegate in .NET wordt begrepen als een veilige functiepointer, wat vergezocht is, en de functiepointer van de delegate-implementatie lijkt er sterk op omdat deze een programmacallback-mechanisme biedt.

2. Vier stappen van toewijzing: 1. Verklaar het type toewijzing

  2. Er is een methode die de code bevat die uitgevoerd moet worden

  3. Maak een gedelegeerde instantie aan

  4. Roep de delegate-instantie aan

3. Voorbeelden:






Vorig:[DllImport("user32.dll")] en extern gebruik in C#
Volgend:Pure C# hook-implementatie
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