delegate void Operacao(int n1, int n2); //delagate armazena referencias de metodos static void Main(string[] args) { Matematica m = new Matematica(); Operacao conta = null; conta += m.Somar; conta += m.Subtrair; conta += m.Divdir; conta += m.Multiplicar; conta(10, 2); Console.ReadKey(); }
static void Main(string[] args) { Matematica m = new Matematica(); Conta c = null; // Não precisa instanciar***** c += m.Somar; c += m.Subtrair; c += m.Divisao; // Você adiciona os métodos no delegate a qual no final ele executa porém somente se possuir o mesmo retorno. c(5, 5); Console.ReadKey(); }
static void Main(string[] args) { Matematica matematica = new Matematica(); Operacao conta = null; conta += matematica.Soma; conta += matematica.Subtração; conta += matematica.Multiplicacao; conta += matematica.Divisao; conta(10, 2); Console.WriteLine("-------------------------------"); conta -= matematica.Soma; conta -= matematica.Multiplicacao; conta(10, 2); }