Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 29284|Respuesta: 1

[Fuente] Introducción a los delegados en C# (delegar, Acción, Función, predicado)

[Copiar enlace]
Publicado en 9/4/2018 14:57:15 | | |

Un delegado es una clase que define el tipo de método para que pueda ser pasado como argumento a otro método. Un evento es una comisión especial.

1. Declaración de encomiendo

(1). delegar

        Delegado

   Delegate tiene al menos 0 parámetros y un máximo de 32 parámetros, y no puede tener valor de retorno ni especificar un tipo de valor de retorno.

   Por ejemplo, delegado público int MethodtDelegate(int x, int y); Indica que hay dos parámetros y devuelve un tipo int.

(2). Acción

       Action es un delegado genérico sin valor de retorno.

La acción representa a un delegado sin parámetros ni valor de retorno

Action<int,string> indica un delegado con un parámetro entrante int y sin valor de retorno para la cadena

  Action<int, string, bool> indica un delegado con parámetros entrantes int, string, bool sin valores de retorno

       Action<int, int, int, int> significa que se han pasado 4 parámetros de tipo int y no hay valor de retorno

La acción tiene al menos 0 parámetros y un máximo de 16 parámetros, sin valor de retorno.

Ejemplo:



(3). Función

Func es un delegado genérico con un valor de retorno

Func<int> significa un delegado sin parámetros y devuelve un valor int

Func<object,string,int> representa un delegado con el parámetro entrante como objeto y la cadena devuelve un valor int

Func<object,string,int> representa un delegado con el parámetro entrante como objeto y la cadena devuelve un valor int

Func<T1,T2,,T3,int> representa un delegado con el parámetro de entrada T1, T2, ,T3 (genérico) que devuelve un valor de int

Func tiene al menos 0 parámetros y un máximo de 16 parámetros, que se devuelven según el valor de retorno genérico. Debe haber un valor de retorno, no nulo


Ejemplo:




(4) .predicado

El predicado es un delegado genérico que devuelve un tipo bool

El<int> predicado representa un delegado cuyo parámetro entrante int devuelve bool

El predicado tiene y solo un parámetro, y el valor de retorno se fija a bool

Ejemplo:







Anterior:Persistencia de mensajes en la cola rabbitMQ [con código fuente]
Próximo:Resumen de información sobre ActiveMQ y RabbitMQ
Publicado en 17/12/2019 19:42:23 |
Tengo una pregunta. Escribí demasiado js y me acostumbré a las funciones de callback.

Luego se usaba Func como parámetro. Y este Func quiero ejecutarlo de forma asincrónica. Si encuentras algunas respuestas, puedes poner Func en Task.Run
Rápidamente cambió el ID del hilo.

Y usé Func<<string>string,Task> de forma caprichosa para poder esperar la función directamente, pero descubrí que realmente no cambió el id del hilo.
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com