top of page
  • Foto do escritorFábio Henrique

Passar funções como parâmetro no C#

Algumas vezes já me deparei com casos em que precisei passar uma função como parâmetro. A forma que eu vou mostrar neste post não é algo que se faz com frequência.


Passamos uma função como parâmetro através do uso de delegates. Talvez você não saiba o que é um delegate mas se você já utilizou o LINQ saiba que as Lambda expressions que usamos para filtrar dados são basicamente delegates


Hands On


Action - É um tipo de delegate que não retorna nada, ou seja, um tipo void

Func - É um tipo de delegate que permite retornar valor e aceita vários tipos de dados como parâmetro.

Predicate - É um tipo de delegate que aceita apenas um parâmetro e sempre retorna bool


Eu criei um Console app simples no Visual Studio para exemplificar o uso destes delegates



Repare que todos os métodos na imagem acima estão recebendo delegates como parâmetro. Isto significa que todos eles aceitam outros métodos parâmetro.

Na imagem abaixo, repare dentro do método Main, como os métodos da Classe TestesDelegate estão sendo utilizados.



A primeira vista delegates podem parecer estranhos, por isso sugiro que você crie um Console app e replique o exemplo deste post para adquirir familiaridade com este tipo de código e também um melhor entendimento acerca deste assunto. Se você tem experiência com javascript você pode pensar nos delegates como sendo uma função callback

421 visualizações0 comentário

Posts recentes

Ver tudo

Comments


bottom of page