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)); }
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"); }