‫Oké, dus wat is een afgevaardigde?
‫Welnu, in eenvoudige bewoordingen is een gedelegeerde een type dat een verwijzing naar een methode kan bevatten.
‫En wanneer u de afgevaardigden belt, wordt de methode waarnaar wordt verwezen, aangeroepen.
‫Stel je voor dat we een UI-bibliotheek aan het ontwikkelen zijn die andere ontwikkelaars kunnen gebruiken om mobiele apps te bouwen.
‫En een van de UI-elementen die andere ontwikkelaars kunnen gebruiken, is een knop.
‫Als we kijken naar de code achter de knopklasse die is gebruikt om de groene knop op het scherm te maken,
‫heeft een knop als deze de volgende eigenschappen.
‫Een string genaamd text met de waarde stuurde een kleur genaamd back color, wat iets groens is en natuurlijk
‫wordt het cise w ansys h genoemd voor de breedte en hoogte van de knop.
‫Wat hier ontbreekt, is een methode die de code bevat die moet worden uitgevoerd zodra op de knop is
‫geklikt.
‫Nu hebben we hier een probleem.
‫Wij, als de ontwikkelaars die dit UI-systeem hebben gemaakt, kunnen niet zeggen wat de andere ontwikkelaars gebruiken.
‫Ons UI-systeem wil dat de knop doet wanneer erop wordt geklikt.
‫Daarom moeten we het UNCLICK-evenement als afgevaardigde aanbieden en niet als een normale methode.
‫En aangezien een gedelegeerde een variabele is die een verwijzing naar een methode kan opslaan, zoals
‫we eerder hebben gehoord, kunnen andere ontwikkelaars hun eigen implementatie schrijven in een methode die de logica
‫bevat die ze willen uitvoeren bij klikken en deze toewijzen aan de knoppen bij klikken gedelegeerde evenement dat we hebben verstrekt, kan als
‫volgt worden gedefinieerd.
‫Laten we het nu stukje bij beetje opsplitsen. We beginnen met het schrijven van de Axis Pacifier, dit privésleutelwoord
‫gevolgd door het gedelegeerde sleutelwoord, dat de compiler vertelt dat we een nieuw type definiëren.
‫En tot slot moeten we het type methoden specificeren dat onze afgevaardigde kan opslaan.
‫En met type bedoel ik het retourtype en de parameters voor gedelegeerden is de naam van de gedelegeerde die we zojuist hebben
‫gedefinieerd.
‫Nu is de volgende stap om daadwerkelijk een variabele van het nieuwe type gedelegeerde te maken.
‫Dus we definiëren het net zoals we elke variabele in C sharp definiëren door te beginnen met public, dan het type
‫variabele dat we maken, dat op gedelegeerde staat en tot slot de naam van de variabele die aan
‫staat.
‫Dus nogmaals, we hebben een openbare variabele van het type unclick delegate gedefinieerd en deze een naam gegeven bij Click.
‫Deze variabele kan een verwijzing naar elke methode bevatten of opslaan, zolang deze ongeldig is als het geretourneerde type en geen parameter nodig
‫heeft, anders krijgen we een foutmelding die lijkt op wanneer we proberen een float op te slaan in
‫een onveranderlijke.
‫Dus hoe kunnen we deze nieuwe afgevaardigde gebruiken?
‫Laten we zeggen dat we dronken die een fles in ons canvas liet vallen in de Edem die we gebruiken om deze mobiele
‫app te ontwikkelen met behulp van ons UI-systeem, wat resulteerde in de creatie van een knopobject.
‫Laten we aannemen dat de naam van deze knop de verzendknop is.
‫Laten we dus eerst kijken naar de logica die u wilt uitvoeren wanneer op de knop wordt geklikt.
‫In ons geval willen we verbinding maken met het netwerk, het bericht verzenden en een bericht weergeven aan de gebruiker.
‫Dus nu hebben we een normale methode genaamd klik op de knop verzenden die nog op geen enkele manier met de knop is
‫verbonden.
‫Om dat op te lossen, moeten we onze methode toewijzen aan de unclick-variabele van het type unclick delegate.
‫Merk op dat we de naam van onze methode zonder de haakjes hebben geschreven, omdat we het
‫niet aanroepen, we slaan alleen de verwijzing op in de gedelegeerde voor het opheffen van de klik nu onder
‫de motorkap, als de muis over de knop zweefde en er op de muis werd geklikt, ons UI-systeem zal de gedelegeerde van onze verzendknop bellen.
‫Dat zal in ruil daarvoor elke methode aanroepen die eraan is toegewezen.
‫In dit geval roept het de verzendknop op en wordt het dialoogvenster verzonden bericht op deze manier weergegeven.
‫Degene die ons UI-systeem gebruikt, kan zijn eigen methoden maken, vervolgens zijn methoden toewijzen aan onze afgevaardigde en
‫we kunnen ze bellen wanneer de omstandigheden goed zijn.
‫We zijn niet gelimiteerd tot unclick events.
‫We kunnen zelfs afgevaardigden aanmaken voor bijvoorbeeld wanneer de applicatie start of sluit.
‫Dit was een heel strikt voorbeeld, maar dit is een echt gebruiksvoorbeeld van afgevaardigden in het algemeen.
‫Dus nu zullen we leren hoe we een van de gedelegeerden kunnen gebruiken die al in C Sharp bestaan.
‫En daarna zullen we onze eigen afgevaardigden gaan maken, vergelijkbaar met hoe we het in dit voorbeeld hebben gedaan.
‫Dus tot ziens in de volgende video.