Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 29284|Resposta: 1

[Fonte] Introdução aos delegados em C# (delegar, Ação, Func, predicado)

[Copiar link]
Publicado em 09/04/2018 14:57:15 | | |

Um delegado é uma classe que define o tipo de método para que ele possa ser passado como argumento para outro método. Um evento é uma comissão especial.

1. Declaração de encredimento

(1). delegar

        Delegado

   Delegate possui pelo menos 0 parâmetros e no máximo 32 parâmetros, podendo não ter valor de retorno ou especificar um tipo de valor de retorno.

   Por exemplo, delegado público int MethodtDelegate(int x, int y); Indica que existem dois parâmetros e retorna um tipo int.

(2). Ação

       Ação é um delegado genérico sem valor de retorno.

Ação representa um delegado sem parâmetros e sem valor de retorno

Action<int,string> indica um delegado com um parâmetro de entrada int e sem valor de retorno para string

  Action<int, string, bool> indica um delegado com parâmetros de entrada int, string, bool sem valores de retorno

       Action<int, int, int, int> significa que há 4 parâmetros do tipo int passados e não há valor de retorno

A ação tem pelo menos 0 parâmetros e um máximo de 16 parâmetros, sem valor de retorno.

Exemplo:



(3). Func

Func é um delegado genérico com valor de retorno

Func<int> significa um delegado sem parâmetros e retorna um valor int

Func<object,string,int> representa um delegado com o parâmetro de entrada como objeto e a string retorna um valor int

Func<object,string,int> representa um delegado com o parâmetro de entrada como objeto e a string retorna um valor int

Func<T1,T2,,T3,int> representa um delegado com o parâmetro de entrada T1, T2, ,T3 (genérico) retornando um valor int

Func possui pelo menos 0 parâmetros e um máximo de 16 parâmetros, que são retornados de acordo com o valor de retorno genérico. Deve haver um valor de retorno, não nulo


Exemplo:




(4) .predicado

Predicado é um delegado genérico que retorna um tipo bool

<int> Predicado representa um delegado com o parâmetro de entrada int retornando bool

O predicado tem e apenas um parâmetro, e o valor de retorno é fixo a bool

Exemplo:







Anterior:Persistência de Mensagens da Fila de Fila rabbitMQ [com código-fonte]
Próximo:Resumo das informações sobre ActiveMQ e RabbitMQ
Publicado em 17/12/2019 19:42:23 |
Tenho uma pergunta. Escrevi muito js e me acostumei com funções de callback.

Então Func foi usado como parâmetro. E essa função eu quero executar de forma assíncrona. Se você encontrar algumas respostas, pode colocar Func em Task.Run
Ele rapidamente trocou o ID do tópico.

E eu usei de forma divertida Func<string,Task<string>> para poder esperar a função diretamente, mas percebi que ele não mudou muito o id do thread.
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com