static void ExecutaOperatie(Operatie op) { Console.Write("a = "); int a = int.Parse(Console.ReadLine()); Console.Write("b = "); int b = int.Parse(Console.ReadLine()); foreach (Operatie opindv in op.GetInvocationList()) { int rezultat = op(a, b); Console.WriteLine("Rezultatul este: {0}", rezultat); } }
static void Main(string[] args) { Operatie lista = Suma_static; lista += Produs_static; lista += (i, j) => { Console.Write("Diferenta ->"); return(i - j); }; lista += (i, j) => { Console.Write("Restul impartirii ->"); if (j == 0) { Console.Write(" Impartire la 0! "); return(-1); } else { return(i / j); } }; Console.WriteLine("\nValori pt x, y: "); int x = int.Parse(Console.ReadLine()); int y = int.Parse(Console.ReadLine()); foreach (Operatie op_individuala in lista.GetInvocationList()) { int rezultat = op_individuala(x, y); Console.WriteLine("Rezultatul obtinut: {0}", rezultat); } Console.Write("\n\n----------------\n"); Operatie lista2 = new Operatie(Matematica.Suma_clasa); lista2 += new Operatie(Matematica.Produs_clasa); foreach (Operatie op_indv2 in lista2.GetInvocationList()) { int rez = op_indv2(x, y); Console.WriteLine("Rez: {0}", rez); } }