‫Regrese y esta conferencia, crearemos nuestros propios delegados para filtrar una lista de personas, y esto nos dará una
‫comprensión más profunda de cómo los delegados trabajan bajo el capó.
‫Así que consideremos la siguiente clase que tenemos aquí.
‫Por lo tanto, es una persona de clase muy simple con una propiedad de nombre y una propiedad de edad.
‫Solo dos propiedades aquí.
‫Entonces queremos crear nuestros propios delegados para filtrar personas según la edad, nuestros delegados de filtro tomarán una persona
‫como parámetro y devolverán un bool si se cumple la condición con respecto a la edad.
‫¿Cuál es la condición exactamente?
‫Bueno, no nos importa, ya que el código podría usarse para filtrar una lista en una página web, por ejemplo,
‫y la función de filtrado podría cambiar rápidamente y.
‫Bueno, esa es exactamente la belleza de los delegados.
‫¡Qué lujo!
‫Está bien.
‫Así que definamos nuestro tipo de delegado.
‫Y por lo tanto, voy a seguir adelante y decir que este será un delegado de tipo booleano.
‫Lo llamaré delegado de filtro y requerirá una persona.
‫Entonces, una persona objeto llamada Pete.
‫Ahora, sigamos adelante y creemos una pequeña lista de personas del objeto persona, por así decirlo, aquí tenemos
‫objetos de cuatro personas.
‫Uno, dos, tres y cuatro.
‫Y luego los agregamos todos a una lista.
‫Entonces tienen diferentes nombres y diferentes edades aquí.
‫Así que ahora queremos filtrar a esas personas en función de su edad, por ejemplo, mostrar los adultos solo para
‫que tengan 18 años o más o los menores solo para que tengan menos de 18 años.
‫Como desea aplicar diferentes filtros, creemos un método llamado mostrar personas.
‫Este método tomará la lista de personas y un filtro como delegado, y luego filtrará la lista de
‫personas según ese filtro.
‫Así que también queremos incluir una cadena llamada título para que las cosas se vean más organizadas en el consejo.
‫Entonces, en primer lugar, permítanme configurar el encabezado de mi método aquí.
‫Así que aquí tenemos el método de mostrar personas y requeriremos una cadena, la lista de personas y el delegado
‫de filtro que llamaré filtro.
‫Ahora, ¿qué es lo que quiero hacer aquí?
‫Bueno, primero que nada, solo voy a escribir el título.
‫Y luego voy a repasar a todas las personas que están dentro de mi lista personal aquí.
‫Y voy a comprobar si el filtro funciona con la persona que pasamos.
‫Así que aquí solo vamos a decir el nombre de la persona y su edad.
‫Y ahora podemos seguir adelante y definir un par de métodos que usaremos como filtros.
‫Bien, entonces uno será para los mineros.
‫Entonces aquí está el minero.
‫Así que tomamos en cuenta a la persona y comparamos su edad con los 18 años.
‫Y si es más bajo, entonces sabemos que tenemos que regresar.
‫Verdadero.
‫Lo que significa que la persona es un minero, de lo contrario, devolveremos falso.
‫Bien, ese será el único filtro.
‫Luego, creemos otro filtro para adultos como jabón y ahora otro filtro para personas mayores,
‫digamos personas mayores de 65 años.
‫Por ejemplo, ahora el método principal, llamemos al método de mostrar personas varias veces, el que acabamos de crear,
‫este de aquí.
‫Así que vayamos a nuestro método principal.
‫Y aquí voy a mostrar gente y aquí solo voy a pasar el título.
‫Solo voy a decir niños, por ejemplo, estoy pasando en la lista de personas así como en mi filtro.
‫Así que aquí mi es un filtro menor y yo lo llamo menor así.
‫Y ahora echémosle un vistazo.
‫Ejecutemos esto y veamos si muestra a nuestros hijos y solo a este lugar, Walter, que tiene 12 años.
‫Bien, entonces ese filtro funcionó.
‫Verá, pasamos un método que no tuvimos que pasar ningún parámetro a este método porque lo pasamos en
‫la posición de un delegado para que él pudiera filtrar el delegado.
‫Déjame desplazarme un poco para que veas que está un poco mejor.
‫Entonces, aquí necesitamos pasar y filtrar delegados, lo que significa que podemos pasar un método que
‫solo sigue la descripción de los delegados del filtro, lo que significa que solo necesita pasar un booleano y necesita
‫tener un parámetro de tipo person.
‫Y eso es exactamente lo que nuestros métodos filtran cómo los llamé aquí.
‫Devuelven un valor booleano y requieren la persona P, por lo que si un menor no estuviera siguiendo la estructura, esto no
‫funcionaría.
‫Entonces, si tuviera que deshacerme de esto y volver a ser verdadero aquí, por ejemplo, esto no funcionaría.
‫Verá aquí, este es Mörner y puede convertir el grupo de métodos en un programa que filtra a los delegados para
‫que no siga las instrucciones de nuestros delegados.
‫Muy bien, ahora hagamos lo mismo con nuestro otro tipo de filtros.
‫Primero que nada, con los adultos y luego con las personas mayores, así que veámoslo.
‫Vemos niños, Walter, adultos, Aiden y Anatoliy, y luego los mayores solo se sientan y él tiene sesenta y nueve años.
‫Eso es todo para una pequeña introducción para los delegados.
‫Pero es posible que notes un patrón molesto que tenemos aquí y lo eliminaremos en la próxima lección,
‫que es el patrón del método anónimo.
‫Así que Segou está ahí.