Blog

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.

Happy coding!

Anterior Seguinte