‫Ben tornato.
‫In questa lezione imparerai a conoscere i metodi anonimi e il metodo anonimo è un metodo senza nome.
‫Bene, chi lo ottiene?
‫E i metodi anonimi in C Sharp possono essere definiti utilizzando la parola chiave delegate e possono essere assegnati a
‫una variabile di tipo delicato.
‫Ciò significa che non dobbiamo definire un nostro metodo ogni volta che vogliamo chiamare un metodo che necessita di
‫un delegato, poiché forse vogliamo chiamarlo una volta.
‫Quindi definire un delegato dedicato ogni volta che ne abbiamo bisogno può rovinare la struttura del codice molto velocemente.
‫Quindi, aggiungendo al nostro esempio precedente, in cui abbiamo creato una serie di filtri, potresti ricordare che qui c'è un vecchio,
‫un anziano e tutte le cose buone.
‫E ora andiamo avanti e creiamo due filtri aggiuntivi in cui creiamo un'espressione booleana personalizzata
‫come nostro filtro e un secondo filtro in cui mostriamo semplicemente tutte le voci nel nostro elenco.
‫Quindi andiamo avanti e andiamo al nostro metodo principale in cui abbiamo mostrato tutte le persone che
‫hanno chiamato questo metodo qui e ora creiamo un nuovo delegato di filtro.
‫Quindi userò solo le parole chiave del delegato del filtro, quella che abbiamo impostato qui in alto.
‫E vedrai che deve restituire un booleano e deve avere una persona come parametro.
‫Quindi chiamiamolo filtro.
‫E qui dobbiamo usare ancora una volta la parola chiave delegates e quindi possiamo usare i parametri che dobbiamo
‫passare.
‫E puoi stare fermo a lamentarti perché prima di tutto, dobbiamo aggiungere un punto e virgola qui
‫in fondo e poi dobbiamo assicurarci di restituire un valore.
‫Di tipo lingotti.
‫Quindi non tutti i percorsi freddi restituiscono un valore nel metodo anonimo, quindi qui dice già metodo anonimo.
‫Quindi quello che stiamo per dire è semplicemente restituire l'età dove è maggiore o uguale a 20 e dove
‫l'età è inferiore a 30.
‫E uguale a 30.
‫Va bene.
‫Questo è praticamente tutto.
‫Quindi qui creerà una nuova variabile chiamata filter of type filter delegato.
‫Quindi questo è solo variabile, giusto?
‫Quindi gli assegniamo un metodo anonimo invece di un metodo già definito.
‫E poi ci assicuriamo di seguire le istruzioni di quel delegato del filtro e cioè di restituire un
‫booleano.
‫Quindi è esattamente quello che stiamo facendo.
‫Restituiamo vero se queste due affermazioni sono vere.
‫Quindi se l'età è maggiore o uguale, 20 o minore e uguale a 30.
‫Quindi non dimenticare quel punto e virgola alla fine.
‫Questo è davvero importante qui.
‫Altrimenti, questo non funzionerà perché è fondamentalmente come creare una variabile.
‫OK, quindi è come int X uguale a tre.
‫È più o meno la stessa cosa che stiamo facendo qui con i delegati di questo filtro, ma
‫è un po' più complicato.
‫Quindi quest'anno, quello che vedi qui è un metodo anonimo perché non ha un nome, ma sostanzialmente si comporta
‫come un metodo.
‫Quindi ora quello che possiamo fare è chiamare i nostri sfollati.
‫E possiamo usare il nostro filtro variabile in modo da poter passare il filtro.
‫Potresti ricordare questa commedia.
‫Le persone avevano sempre questa struttura in cui tu avevi un titolo proprio qui, avevi un titolo, quindi dovevi
‫passare nell'elenco delle persone.
‫Quindi di oggetti persona.
‫Destra.
‫E poi dovevi aggiungere per filtrare qui.
‫E userò solo il mio filtro che avevo appena impostato, che è questa variabile di filtro.
‫Quindi ora questa variabile di filtro non è di tipo delegato di filtro, che è ciò che richiedono
‫le persone sfollate, perché qui vedete che richiede un tipo di delegato di filtro.
‫Quindi è davvero qualcosa di interessante perché da un lato puoi semplicemente andare avanti e creare un metodo
‫che segua la descrizione del delegato e usarlo come abbiamo visto qui.
‫Ma puoi anche semplicemente creare una variabile che usa un metodo anonimo usando la parola chiave delegate, come abbiamo fatto
‫qui in memoria all'interno di questo filtro, e quindi usa quel filtro qui.
‫Quindi ora, ovviamente, non saranno i bambini, ma saranno tra i 20 ei 30 anni e mostreranno
‫tutte le persone che abbiamo lì.
‫Quindi eseguiamo questo codice e vediamo se funziona.
‫E qui vediamo tra i 20 ei 30 anni, abbiamo Anatoliy, che ha 25 anni, ma nessun altro.
‫Quindi ora un altro approccio di un metodo anonimo, e cioè che possiamo passare un metodo anonimo direttamente
‫come parametro.
‫OK, allora facciamolo molto velocemente.
‫Quindi chiamiamo questo metodo di visualizzazione delle persone e questa volta mostrerò solo tutte le persone, giusto?
‫Quindi qui tutte le persone.
‫Ma ora dobbiamo passare.
‫Vedete qui un delegato di filtro.
‫Quindi andiamo avanti e creiamo un metodo anonimo.
‫E per farlo, dobbiamo usare la parola chiave delegate proprio lì per ottenere così e dobbiamo, ovviamente,
‫seguire ancora le stesse istruzioni.
‫Dobbiamo ancora assicurarci che il nostro delegato che stiamo passando sarà di tipo filter delegato se
‫lo guardiamo qui in alto.
‫Quindi qui il delegato del filtro era necessario per restituire un toro e aveva bisogno della persona.
‫Quindi entriamo nella persona come parametro P.
‫Ma poi ovviamente, come ho detto, dobbiamo anche restituire qualcosa come un booleano.
‫Quindi in pratica possiamo chiamarlo così.
‫Quindi qui questa è una riga di codice molto condensata.
‫C'è molto da fare qui.
‫Stiamo visualizzando le persone, ma abbiamo anche un filtro qui.
‫E questo filtro prende tutte le persone e ritorna.
‫Vero, perché in realtà non importa molto quale persona mettiamo qui.
‫Quindi è fondamentalmente questo.
‫Altrimenti, ovviamente, puoi anche scriverlo così così sarà forse un po' più leggibile.
‫Quindi questo è il nostro metodo anonimo che stiamo passando come terzo parametro poiché stiamo semplicemente seguendo il delegato
‫del filtro.
‫Preparatevi, quindi vedete qui, stiamo restituendo un toro e stiamo prendendo una persona come perimetro.
‫Quindi ora vedi il potere dei delegati perché sono super flessibili.
‫Vogliono solo che tu segua una certa struttura.
‫Il resto sta a voi.
‫E questo ti dà, come sviluppatore, molta flessibilità quando lavori con i delegati.
‫Va bene.
‫Quindi quella era una piccola introduzione ai metodi anonimi.
‫Diamo ora un'occhiata alle espressioni lambda.