‫Welkom terug.
‫In deze lezing leer je over anonieme methoden en anonieme methode is een methode zonder naam.
‫Nou, wie krijgt het?
‫En anonieme methoden in C Sharp kunnen worden gedefinieerd met behulp van het gedelegeerde trefwoord en kunnen worden toegewezen aan
‫een variabele van het delicate type.
‫Dit betekent dat we niet elke keer een eigen methode hoeven te definiëren als we een methode willen aanroepen die een gedelegeerde
‫nodig heeft, omdat we deze misschien één keer willen aanroepen.
‫Dus het definiëren van een toegewijde afgevaardigde elke keer dat we er een nodig hebben, kan de codestructuur zeer snel verpesten.
‫Dus in aanvulling op ons vorige voorbeeld, waar we een aantal filters hebben gemaakt, herinnert u zich misschien dat hier
‫oud, senior en al het goede is.
‫En laten we nu doorgaan en twee extra filters maken waarbij we een aangepaste booleaanse expressie
‫maken als ons filter en een tweede filter waarin we eenvoudig alle items in onze lijst weergeven.
‫Dus laten we doorgaan en naar onze hoofdmethode gaan waar we alle mensen die deze methode
‫noemen hier hebben weergegeven en laten we nu een nieuwe filterafgevaardigden maken.
‫Dus ik ga gewoon de trefwoorden voor filtergemachtigden gebruiken, degene die we hier bovenaan hebben ingesteld.
‫En je zult zien dat het een boolean moet retourneren en een persoon als parameter moet hebben.
‫Dus laten we het filter noemen.
‫En hier moeten we het sleutelwoord gedelegeerden opnieuw gebruiken en dan kunnen we de parameters gebruiken die we moeten
‫doorgeven.
‫En je kunt stil blijven zitten met klagen, want ten eerste moeten we hier een puntkomma toevoegen aan de
‫onderkant en dan moeten we ervoor zorgen dat we een waarde teruggeven.
‫Van het type edelmetaal.
‫Dus niet alle koude paden retourneren een waarde in anonieme methode, dus hier staat al anonieme methode.
‫Dus wat we gaan zeggen is gewoon de leeftijd teruggeven waar deze groter of gelijk is aan 20 en waar de
‫leeftijd minder dan 30 is.
‫En gelijk aan 30.
‫Oke.
‫Dat is het eigenlijk wel.
‫Dus hier wordt een nieuwe variabele gemaakt met de naam filter van het type filterdelegate.
‫Dus dit is gewoon variabel, toch?
‫Dan kennen we er een anonieme methode aan toe in plaats van een reeds gedefinieerde methode.
‫En dan zorgen we er gewoon voor dat we de instructies van die filterafgevaardigde volgen en dat is om een boolean terug
‫te geven.
‫Dat is dus precies wat we doen.
‫We geven true terug als die twee uitspraken waar zijn.
‫Dus als de leeftijd groter of gelijk is, 20 of minder en gelijk aan 30.
‫Dus vergeet die puntkomma aan het einde niet.
‫Dat is hier heel belangrijk.
‫Anders werkt dit niet, omdat dit eigenlijk hetzelfde is als het maken van een variabele.
‫OK, dus het is alsof int X gelijk is aan drie.
‫Het is ongeveer hetzelfde als wat we hier doen met deze filterafgevaardigden, maar het is
‫een beetje ingewikkelder.
‫Dus dit jaar zie je hier een anonieme methode omdat het geen naam heeft, maar het gedraagt zich in feite
‫als een methode.
‫Dus wat we nu kunnen doen, is dat we onze ontheemden kunnen bellen.
‫En we kunnen ons variabele filter gebruiken, zodat we het filter kunnen passeren.
‫Misschien herinner je je dit toneelstuk nog.
‫Mensen hadden altijd deze structuur waar je hier een titel had, je had een titel, dan moest je de
‫lijst met mensen doorgeven.
‫Dus van persoonsobjecten.
‫Rechts.
‫En dan moest je hier toevoegen om te filteren.
‫En ik ga gewoon mijn filter gebruiken dat ik net had ingesteld, namelijk deze filtervariabele.
‫Dus nu is deze filtervariabele off-type filter gedelegeerde, dat is wat ontheemden nodig hebben,
‫want hier zie je dat het een filter afgevaardigden-type vereist.
‫Het is dus echt iets interessants omdat je aan de ene kant gewoon door kunt gaan en een methode kunt maken die
‫de beschrijving van de gedelegeerde volgt en deze gewoon kunt gebruiken zoals we hier hebben gezien.
‫Maar je kunt ook gewoon een variabele maken die een anonieme methode gebruikt met behulp van het gedelegeerde sleutelwoord, zoals we hier
‫hebben gedaan in de opslag in dit filter, en dat filter dan hier gebruiken.
‫Dus dit zullen nu natuurlijk geen kinderen zijn, maar het zal tussen de 20 en 30 zijn en het zal
‫alle mensen tonen die we daar hebben.
‫Dus laten we deze code uitvoeren en kijken of dat werkt.
‫En we zien hier tussen de 20 en 30, we hebben Anatoliy, die 25 jaar oud is, maar niemand anders.
‫Dus nu een andere benadering van een anonieme methode, en dat is dat we een anonieme methode direct als parameter
‫kunnen doorgeven.
‫Oké, dus laten we dat heel snel doen.
‫Dus we noemen deze methode om mensen te laten zien, en deze keer ga ik gewoon alle mensen weergeven, toch?
‫Dus hier alle mensen.
‫Maar nu moeten we naar binnen.
‫U ziet hier een filterafgevaardigde.
‫Dus laten we doorgaan en een anonieme methode maken.
‫En om dat te doen, moeten we het gedelegeerde sleutelwoord daar gebruiken om zo te worden en we moeten
‫natuurlijk nog steeds dezelfde instructie volgen.
‫We moeten er nog steeds voor zorgen dat onze afgevaardigde die we passeren van het type filterafgevaardigde zal
‫zijn als we het hier bovenaan bekijken.
‫Dus hier is filterafgevaardigde nodig om een stier terug te sturen en het had de persoon nodig.
‫Dus laten we de persoon invoeren als de parameter P.
‫Maar dan moeten we natuurlijk, zoals ik al zei, ook zoiets als een boolean teruggeven.
‫Dus eigenlijk kunnen we het gewoon zo noemen.
‫Dus hier is een zeer beknopte regel code.
‫Er gebeurt hier veel.
‫We tonen mensen, maar we hebben hier ook een filter.
‫En dit filter, het neemt alle mensen en het keert gewoon terug.
‫Dat is waar, want het maakt eigenlijk niet zoveel uit welke persoon we hier plaatsen.
‫Dus dat is het eigenlijk.
‫Anders kun je het natuurlijk ook zo schrijven, zodat dit misschien een beetje leesbaarder is.
‫Dit is dus onze anonieme methode die we doorgeven als de derde parameter, omdat we alleen de afgevaardigde van het
‫filter volgen.
‫Stel je voor, zoals je hier ziet, we sturen een stier terug en we nemen een persoon als perimeter in.
‫Dus nu zie je de kracht van afgevaardigden omdat ze superflexibel zijn.
‫Ze willen gewoon dat je een bepaalde structuur volgt.
‫De rest is aan jou.
‫En dit geeft je als ontwikkelaar veel flexibiliteit bij het werken met afgevaardigden.
‫Oke.
‫Dus dat was een kleine introductie in anonieme methoden.
‫Laten we nu eens kijken naar lambda-expressies.