c delegate tutorial how instantiate
Este tutorial explica cómo usar un delegado de C # con la ayuda de ejemplos de código simples. También aprenderá acerca de los delegados de multidifusión en C #:
¿Qué son los delegados de C #?
En C #, los delegados son similares a los punteros disponibles en C ++. Básicamente es una variable de tipo de referencia que contiene una referencia a otro método.
Además, su referencia no se puede cambiar durante el tiempo de ejecución. Está disponible dentro de la clase System.Delegate. Un delegado se usa para manejar la función de devolución de llamada o un controlador de eventos.
Es como un puntero a una función y se puede declarar usando la palabra clave delegado seguida de la firma de la función.
=> Lea toda la serie de capacitación de C # aquí
La declaración del delegado también determina el método que puede ser referido por el delegado, es decir, puede ser un método de referencia que tiene la misma firma que un delegado.
Lo que vas a aprender:
Creación de instancias de delegado en C #
Una vez que se declara el delegado, se puede crear una instancia con la nueva palabra clave y luego debe asociarse con el método. Al igual que un método, la expresión debe pasar un argumento.
Invocar a un delegado
Un delegado puede invocarse como un método.
Ejemplo:
|_+_|Producción
La salida del programa anterior será:
Delegado apuntando al método
Explicación
pl preguntas y respuestas de la entrevista del desarrollador sql para experimentados
En el programa anterior, hemos creado un objeto del delegado y lo hemos apuntado hacia el método que necesitamos invocar. Luego usamos invoke () para invocar el método usando 'delegar'.
¿Por qué necesitamos usar C # Delegate?
Podríamos haber llamado al método directamente desde nuestro método principal, pero ¿por qué realmente necesitamos usar un delegado?
Delegado en lenguaje simple significa un representante para la comunicación entre dos grupos. Incluso en un contexto de programación, tiene un papel similar. Se utiliza para devoluciones de llamada.
Supongamos que tenemos un método de ejecución prolongada y tenemos que comprobar el progreso de la ejecución de forma continua. Para hacer eso, usamos la devolución de llamada usando un delegado. Esto nos permite realizar un seguimiento del método de larga duración.
Por ejemplo:
|_+_|La salida del programa anterior será:
Producción
El número aleatorio actual es: 1559
El número aleatorio actual es: 6127
El número aleatorio actual es: 6639
El número aleatorio actual es: 3963
El número aleatorio actual es: 4479
El número aleatorio actual es: 6898
El número aleatorio actual es: 1390
El número aleatorio actual es: 6409
El número aleatorio actual es: 2629
El número aleatorio actual es: 5464
En el programa anterior, usamos un delegado para obtener una devolución de llamada del método 'generateNumber' que genera un entero aleatorio para una iteración dada. Esta iteración puede ser enorme. Por lo tanto, el delegado aquí se usa para obtener una devolución de llamada cada vez que se genera un entero aleatorio en el método.
¿Qué es un delegado de multidifusión en C #?
Un delegado puede señalar varios métodos diferentes. Un delegado que apunta a varios métodos diferentes se conoce como delegado de multidifusión. Un signo '+' (operador) se usa para agregar una función al delegado y el signo '-' (operador) se usa para eliminar cualquier función existente adjunta al delegado.
Un delegado de multidifusión llama a las funciones a las que apunta y solo el mismo tipo de funciones se puede combinar para formar un delegado de multidifusión. Esto se puede utilizar para crear una lista de métodos que deben invocarse llamando a un único delegado.
el mejor software de copia de seguridad gratuito para mac
Echemos un vistazo a un programa simple para entender esto:
Programa
|_+_|Producción
el valor del primer método 5
el valor del segundo método 50
En el programa anterior, declaramos un IntegerCounter delegado. Luego creamos dos métodos diferentes que realizan una determinada operación en el valor entero. Luego, en el método principal, inicializamos el delegado para ambos métodos definidos.
Luego usamos primero el objeto delegado para apuntar al primer método delegado inicializado y después de eso, usamos el signo '+' para delegar multidifusión y apuntar a otro método. Entonces, si pasamos un parámetro entero, ambos métodos recibirán el mismo parámetro y se ejecutarán.
Conclusión
Un delegado es un puntero a una función. El método que va a utilizar el delegado debe tener el mismo parámetro y tipo de retorno.
El delegado puede declararse similar a una función y también puede invocarse de manera similar. Un delegado de multidifusión es cuando usamos el delegado para apuntar a varios métodos y se usa un operador más “+” para usar la multidifusión.
=> Explore la serie completa de tutoriales de capacitación de C # aquí
Lectura recomendada
- Depuración de scripts de Selenium con registros (Tutorial de Log4j) - Tutorial de Selenium n. ° 26
- Scripts eficientes de Selenium y escenarios de resolución de problemas: tutorial de Selenium n. ° 27
- Implementación de nuestro primer script de WebDriver - Tutorial de Selenium WebDriver # 10
- Configuración e instalación completa de WebDriver con Eclipse - Tutorial de Selenium n. ° 9
- Introducción a Selenium WebDriver - Tutorial de Selenium n. ° 8
- Creación de genéricos y conjuntos de pruebas: tutorial de Selenium n. ° 22
- Cómo manejar la excepción en los scripts de SoapUI Groovy - Tutorial de SoapUI n. ° 11
- Cómo actualizar el estado de ejecución del caso de prueba TestLink de forma remota a través de Selenium - Tutorial n. ° 3