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

Bekijken: 23705|Antwoord: 1

[Bron] C#-delegates en verschillende schrijfmethoden

[Link kopiëren]
Geplaatst op 02-03-2018 15:35:03 | | |
Is het een commissie?
Een delegate is een type-safe object dat wijst naar een andere methode (of methoden) in het programma die later worden aangeroepen. In gewone taal is een delegate een object dat naar een methode kan verwijzen, en wanneer een delegate wordt aangemaakt, creëert deze een object dat naar de methode verwijst, waarna de methode kan worden aangeroepen, dat wil zeggen, de delegate kan de methode aanroepen waarnaar hij verwijst.

Hoe gebruik ik delegatie?
1. Definieer het type toevertrouwing

[toegangsmodificator] delegate geeft type delegatenaam (parameter) terug;

2. Verklaar het vertrouwde object

Delegate Naam De naam van de gedelegeerde instantie;

3. Maak een delegatieobject aan (bepaal aan welke methode je moet binden)

Delegate instance naam=nieuwe delegate naam (methode van een bepaalde klasse)

4. Gebruik de entrusted call-methode

Gedemitteerde instantienaam (parameter)

Voorzorgsmaatregelen voor toevertrouwen:1. De delegatie en methode moeten dezelfde parameters hebben.

2、Een delegate kan meerdere methoden aanroepen, d.w.z. een delegate kan een lijst van aanroepbare methoden bijhouden in plaats van één enkele methode, bekend als multicast (multicast)

3、Implementeert de toename en afname van de methode met behulp van += en -= operaties

Voorbeeld:

Schrijven:

1. Delegate Delegate Naam = nieuwe Delegate (methodnaam die wordt aangeroepen); Ordernaam (parameter);

2. Delegate Delegate naam = methodenaam die wordt aangeroepen; Ordernaam (parameter);

3. Anonieme methode

delegate delegate naam=delegate(parameter){methodenbody die wordt aangeroepen}; Ordernaam (parameter);

4. Lambda-uitdrukking

Delegateorder Naam=((Parameter 1,。。 parameter n)=>{methodelichaam dat wordt aangeroepen}); Ordernaam (parameter);

5. Gebruik Action <T>en Func<T>, de eerste heeft geen returnwaarde

Func< Parameter 1, Parameter 2, Retourwaarde> Delegate Naam = ((Parameter 1, Parameter 2) => {Methodebody met Retourwaarde }); Retourwaarde = ordernaam (parameter 1, parameter 2);

Stickercode:








Vorig:Ping meerdere locaties om te controleren of het IP-adres is geblokkeerd
Volgend:ASP.NET WebApi wordt geleverd met Json en retourneert datum met T kan niet worden geformatteerd
Geplaatst op 05-03-2018 17:16:17 |
Leer leren
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