public void Exemplo2()
        {
            ImprimirTexto         imprimirTexto = Console.WriteLine;
            TransformarTexto      inverterTexto = texto => new string(texto.Reverse().ToArray());
            Func <string, string> toBase64      = texto => Convert.ToBase64String(Encoding.UTF8.GetBytes(texto));

            ToUpperCase = texto => texto.ToUpper();

            imprimirTexto(inverterTexto("leandro alves"));
            imprimirTexto(toBase64("leandro alves"));
            imprimirTexto(ToUpperCase("Delegates é tooop!"));
        }
        public void Exemplo3()
        {
            ImprimirTexto         imprimirTexto       = Console.WriteLine;
            Action <string>       imprimirTextoAction = Console.WriteLine;
            Func <Pessoa, string> mostrarNomeIdade    = p => $"Nome: {p.Nome} | Idade: { p.Idade}";
            Func <Pessoa, string> mostrarNome         = p => $"Nome: {p.Nome}";

            var pessoa = new Pessoa("Leandro", 34);

            imprimirTextoAction(pessoa.ToString(mostrarNome));
            imprimirTexto(pessoa.ToString(mostrarNomeIdade));
        }
Esempio n. 3
0
        public static void Teste()
        {
            //criar instancias do delegate
            ImprimirTexto it1 = ImprimeNoConsole;
            ImprimirTexto it2 = ImprimeEmArquivo;

            Console.WriteLine("Imprime no console");
            //invocar delegate
            it1("Felip3FL - no console");
            Console.WriteLine("Imprime no arquivo");
            it2("Felip3FL - no arquivo");
        }