none
Optimización de código RRS feed

  • Pregunta

  • Hola a todos,

    tengo este código (en una aplicación de consola) que se repite varias veces (bucle1 -que llama a metodo1-, bucle2 -que llama a metodo2- y así hasta 10) y me gustaría optimizarlo. Llevo un par de días dándole vueltas y no sé como hacer que el bucle sea único para los 10 métodos.

    ¿Pueden ayudarme por favor?

    Millones de gracias

            private static void bucle1()
            {
                Thread tarea = new Thread(new ParameterizedThreadStart(metodo1));
    
                tarea.Start(900);
    
                do
                {
                    //mostrar spin
                } while (tarea.ThreadState != System.Threading.ThreadState.Stopped);
            }


    Thanks for your valuable help - Yours, Josep Balague

    martes, 23 de septiembre de 2014 15:49

Respuestas

  • Puedes usar un único método así:

            private static void bucle(ParameterizedThreadStart delegado)
            {
                Thread tarea = new Thread(delegado);
                tarea.Start(900);
                do
                {
                    //mostrar spin
                } while (tarea.ThreadState != System.Threading.ThreadState.Stopped);
            }

    Y luego lo invocas como bucle(new ParameterizedThreadStart(metodo1)); o simplemente como bucle(metodo1); ya que si la versión de C# es 2.0 o posterior el compilador permite omitir el tipo de delegado si tiene suficiente información de contexto para inferirlo.

    martes, 23 de septiembre de 2014 16:53
    Moderador

Todas las respuestas