delegate em C#
Nesta publicação aprende-se a trabalhar com o delegate para que se possa usar esses mesmos conhecimentos e assim evoluir.
- o delegate é um tipo que representa referências aos métodos com uma lista de parâmetros e com um tipo de retorno;
- resumindo, ao se instanciar um delegate, pode-se associar a determinada instância a qualquer método com uma assinatura e um tipo de retorno compatíveis;
- é importante saber que o delegate permite que vários métodos possam ser chamados através de um único evento.
using System;
namespace Base {
class Delegate {
private delegate void ConjuntoDeMetodos(string nome);
public void Run() {
Console.Write("Insere o teu primeiro e último nome: ");
var nome = Console.ReadLine();
var conjuntoDeMetodos = new ConjuntoDeMetodos(ImprimirNome);
conjuntoDeMetodos += ImprimirNomeEmMaiusculas;
conjuntoDeMetodos += ImprimirNomeEmMinusculas;
conjuntoDeMetodos(nome);
}
public void ImprimirNome(string nome) {
Console.WriteLine($"Nome: {nome}");
}
public void ImprimirNomeEmMaiusculas(string nome) {
Console.WriteLine($"Nome em maiúsculas: {nome.ToUpper()}");
}
public void ImprimirNomeEmMinusculas(string nome) {
Console.WriteLine($"Nome em minúsculas: {nome.ToLower()}");
}
}
}
/*
Nome: Nelson Silva
Nome em maiúsculas: NELSON SILVA
Nome em minúsculas: nelson silva
*/
Não te esqueças de assistir ao vídeo e podes sempre ler esta publicação em inglês.