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