C# Acción

C# Acción

Si alguna vez ha usado punteros en cualquier lenguaje de programación, entonces puede tener una idea sobre la referencia. Los delegados de C# trabajan lo mismo que los punteros. Al igual que hacemos referencia a las funciones que usan punteros, podemos usar delegados para hacer referencia a la función en C#. Los delegados están construidos deliberadamente para crear funciones de devolución de llamadas y agregar eventos. Esto significa que un delegado puede decidir qué método se ejecutará en cuyo momento en C#. Los delegados nos ayudan a encapsular las funciones y pueden ejecutar más de dos funciones para un evento en solitario. Los delegados tienen tipos personalizados y de acción. En esta guía, hemos decidido cubrir sus tipos y especialmente el tipo de "acción". Comencemos con la creación de archivo C# en el shell para echar un vistazo a los delegados.

Ejemplo # 01:

Sin echar un vistazo al delegado personalizado, no podemos entender la importancia del delegado de acción en C#. Dentro de este ejemplo, primero discutiremos el delegado personalizado. Hemos estado utilizando la biblioteca "Sistema" en el código con la palabra clave "Usando". Esta biblioteca es imprescindible en cada código C# porque nos hace usar muchas funciones y declaraciones de uso estándar en el código C#.

Sin esta biblioteca, nuestro código no tiene uso para nosotros porque no mostrará los resultados requeridos. Hemos inicializado una nueva clase llamada "prueba" con dos funciones en ella. Una de esas funciones es la función principal () del código C# y es imprescindible en cada código. Sin esta función, no se ejecuta otras partes del código C#. Otra función es la función de "calcular" definida por el usuario, que se utilizará para realizar algunos cálculos en variables. La ejecución comienza desde el método main ().Antes de eso, tenemos que describir la declaración de un delegado personalizado que se define en la primera línea de la prueba de clase.

Hemos definido un delegado llamado "personalizado" que tiene dos argumentos de tipo entero (i.mi. x e y), haciendo referencia a la misma función de argumento de nombre y tipo de nombre en el código. Este delegado es de modificador de acceso "público" e iniciado con la palabra clave "delegado" seguido del tipo "nulo". Como la función de calcular tiene el mismo nombre y tipos de argumentos en ella, este delegado debe estar haciendo referencia a la función de "calcular". Dentro del método main (), hemos creado un objeto "A" de delegado "personalizado" para hacer referencia a la función "Calcular". Ahora, para pasar valores a la función "Calcular", utilizaremos el objeto "A" del delegado personalizado (i.mi. 14 y 7.) Ahora, cuando se pasa un valor, la función de calculación se ejecutará utilizando estos valores. Hay 4 consola.Las declaraciones de función WriteLine () se utilizan en la función de calcular para realizar diferentes operaciones (i.mi. la suma y la resta de 2 valores, la multiplicación de 2 valores y la división de dos valores usando x e y.)

Se trata del uso de delegados personalizados en C#. Ahora compilemos este código C# en el terminal de Linux con la ayuda de un compilador de C# "MCS". Después de compilarlo, el compilador creará un archivo "exe" para la ejecución. Ahora, necesitamos usar este archivo "exe" dentro del terminal con la instrucción "mono" para ejecutar nuestro código. Resulta que el delegado funciona, como un objeto de clase, se hace referencia a la función de calcular para pasar sus valores y calcular la suma, la resta, la multiplicación y el resultado de la división I I.mi. 21, 7, 98 y 2 respectivamente.

Ejemplo # 02:

El delegado de acción nos ahorra definir el delegado personalizado en el código y no devuelve un valor. Además, reduce el tamaño de un código también. Digamos cómo podemos usar un delegado de acción en este código de ejemplo? Por lo tanto, hemos estado comenzando la misma estructura de código de C# aquí usando la biblioteca "Sistema", y la clase de "prueba" en ella. Después de eso, hemos agregado 2 funciones (yo.mi. función de calculación definida por el usuario y la función main () incorporada ().)

Dentro de la función de calcular, hemos estado usando las mismas 4 consola.Declaraciones de funciones WriteLine () Para calcular la suma, la resta, la multiplicación y el valor de división de las variables "x" y "y" del tipo entero. Mientras que la función Main () contiene la inicialización de una acción delegado "A" con la palabra clave "Acción" seguida de los caracteres "" que especifican los tipos de retorno para los valores paramétricos pasados ​​por este delegado a la función de calcular. Ahora, la función de calcular se convierte en la referencia de la acción delegado "A" y la hemos usado para pasar dos valores 7 y 14 a la función "Calcule" sin llamarlo. Puede ver que no tenemos que declarar un delegado de acción como lo hicimos para la costumbre y también ha reducido un poco el tamaño de un código. Guardemos este código y lo usemos en la ejecución.

Después de la compilación de este código y la ejecución de su archivo "exe", tenemos el mismo resultado para la suma y la multiplicación, mientras que un poco diferente para la resta y la división. Tanto los delegados personalizados como los delegados de acción funcionan de manera muy similar, pero primero tenemos que definir el delegado personalizado.

Ejemplo # 03:

Veamos cómo reacciona un delegado de acción cuando usamos una declaración de devolución en el código. Por lo tanto, hemos actualizado nuestro código y le hemos agregado la función Calculación y Main (). Dentro del main () de este código, hemos creado un delegado de acción "A" de dos parámetros enteros para hacer referencia a la función de calcular. Se utiliza un objeto de delegado de acción "A" para pasar dos enteros a la función de calcular sin llamar a la función de calcular e inicializar un número entero "S" para recuperar el resultado calculado en el main ().

La consola.La función WriteLine () se ha utilizado para mostrar el valor devuelto de la función de calcular para mostrar en nuestra pantalla de shell. Dentro de la función de calcular, hemos inicializado una "suma" de la variable entera que calcula la suma de dos valores mediante el uso de dos variables "x" y "y". Después de calcular la suma, hemos devuelto la variable "suma" a la función main (). Ahora, esperamos que nos dé un error en la compilación.

Entonces, después de compilar el "Delegado.Archivo CS "Con el compilador de C#, tenemos un error.

Actualicemos el código para ver el uso diferente de Action Delegate. Entonces, hemos agregado una función simple () simple dentro de la clase de prueba. Hemos estado inicializando un delegado de acción "A" dentro de él seguido del parámetro del tipo de cadena. Para hacer referencia a alguna variable de cadena, necesitamos usar el delegado de palabras clave seguido del nombre de una variable y su tipo de parámetros (i.mi. "s".) La consola.La instrucción WriteLine () mostrará el valor de una cadena. Fuera de la función Main (), hemos llamado al delegado de acción y lo ha pasado como un valor de cadena "Hello World".

Después de compilar y ejecutar nuestro código, mostró nuestra cadena utilizando el Delegado de Action "A".

Conclusión:

Este artículo demuestra el concepto de delegados con algunos de sus ejemplos. Hemos estudiado el uso y la estructura de los delegados personalizados para que podamos compararlos con los delegados de acción. Además, hemos discutido algunos ejemplos para el uso de delegados de acción y explicaron cómo los delegados de acción son diferentes de los delegados personalizados, cómo pueden reducir el tamaño de un código y cómo reacciona al uso de la declaración de retorno.