Resultados 1 al 8 de 8

Tema: [C#]Detener ejecucion de codigo tras llamar a funcion

  1. #1
    Castigado
    Fecha de ingreso
    15 Jan, 10
    Ubicación
    Santiasco :D
    Mensajes
    291

    [C#]Detener ejecucion de codigo tras llamar a funcion

    estoy viendo este tema para ver si existe alguna manera de parar la ejecucion de una funcion que llama a otra funcion en el caso de que pase algo, por ejemplo:

    Código:
            public void funcion1()
            {
                funcion2();
                MessageBox.Show("funcion1 ejecutada");
            }
            public void funcion2()
            {
                MessageBox.Show("funcion2 ejecutada");
            }
    la cosa es que al llamar a funcion1 me llama a funcion2, pero una vez que se ejecuta funcion2 vuelve a la funcion1 y continua ejecutando el codigo que esta debajo de funcion2();

    hay alguna forma de que no se ejecute el codigo que esta debajo de funcion2();?

    intente hacer un break; en funcion2 despues del messagebox pero obviamente no me dejo XD

    lo unico que se me ocurre es agregar una variable bool global y cambiar su valor una vez que se ejecute funcion2 y en funcion1 hacer un if preguntando el estado de el bool para ejecutar o no el otro codigo.


    pero... existe una manera mas corta?

  2. #2
    omfgzorz!!11!one
    Avatar de dud1n
    Fecha de ingreso
    24 Apr, 06
    Mensajes
    1,611

    Re: [C#]Detener ejecucion de codigo tras llamar a funcion

    Código:
            public void funcion1()
            {
                if (funcion2(true));
                       MessageBox.Show("funcion1 ejecutada");
            }
            public bool funcion2(bool value)
            {
                MessageBox.Show("funcion2 ejecutada");
                return value;
    
            }
    Es lo primero que se me vino a la cabeza, quizás hay otra solución mejor... si a funcion2 le pasas false, no va a ejecutar el msgbox.

    Así era o entendí mal?
    F . U . C . K .
    Fornication Under Consent of the King


  3. #3
    Castigado
    Fecha de ingreso
    15 Jan, 10
    Ubicación
    Santiasco :D
    Mensajes
    291

    Re: [C#]Detener ejecucion de codigo tras llamar a funcion

    si tambien lo habia pensado asi, pero pense que podria existir algun break o algo asi para no tener que llenar con ifs XD

  4. #4
    omfgzorz!!11!one
    Avatar de dud1n
    Fecha de ingreso
    24 Apr, 06
    Mensajes
    1,611

    Re: [C#]Detener ejecucion de codigo tras llamar a funcion

    en todo caso es editar la linea donde llamas a la función, no es llenar con if xD
    F . U . C . K .
    Fornication Under Consent of the King


  5. #5
    Desarrollador Avatar de waiflih
    Fecha de ingreso
    27 Jul, 08
    Ubicación
    Santiago
    Mensajes
    523

    Re: [C#]Detener ejecucion de codigo tras llamar a funcion

    depende del uso que le quieras dar, quizá las excepciones son una buena forma, no hay que estar reinventando la rueda

  6. #6
    Pajarito Nuevo
    Fecha de ingreso
    16 Aug, 11
    Mensajes
    3

    Re: [C#]Detener ejecucion de codigo tras llamar a funcion

    Cita Iniciado por renobizarrox Ver mensaje
    estoy viendo este tema para ver si existe alguna manera de parar la ejecucion de una funcion que llama a otra funcion en el caso de que pase algo, por ejemplo:

    Código:
            public void funcion1()
            {
                funcion2();
                MessageBox.Show("funcion1 ejecutada");
            }
            public void funcion2()
            {
                MessageBox.Show("funcion2 ejecutada");
            }
    la cosa es que al llamar a funcion1 me llama a funcion2, pero una vez que se ejecuta funcion2 vuelve a la funcion1 y continua ejecutando el codigo que esta debajo de funcion2();

    hay alguna forma de que no se ejecute el codigo que esta debajo de funcion2();?

    intente hacer un break; en funcion2 despues del messagebox pero obviamente no me dejo XD

    lo unico que se me ocurre es agregar una variable bool global y cambiar su valor una vez que se ejecute funcion2 y en funcion1 hacer un if preguntando el estado de el bool para ejecutar o no el otro codigo.


    pero... existe una manera mas corta?
    debajo de funcion2(); coloca un return;

  7. #7
    Guru
    Avatar de Ribosoma
    Fecha de ingreso
    04 Jan, 06
    Ubicación
    Santiago, Chile
    Mensajes
    5,073

    Re: [C#]Detener ejecucion de codigo tras llamar a funcion

    no entiendo; si no quieres ejecutar el código después de la llamada; simplemente NO escribas el código después de la llamada :S

    No le veo sentido a tu ejemplo.


    Cita Iniciado por waiflih Ver mensaje
    depende del uso que le quieras dar, quizá las excepciones son una buena forma, no hay que estar reinventando la rueda
    No, nunca hay que usar las exception para manejar el flujo del programa. Exception son sólo para errores de verdad.

  8. #8
    Scavenger Avatar de SDogo
    Fecha de ingreso
    17 Apr, 11
    Ubicación
    Valpo city
    Mensajes
    562

    Re: [C#]Detener ejecucion de codigo tras llamar a funcion

    Cita Iniciado por renobizarrox Ver mensaje
    estoy viendo este tema para ver si existe alguna manera de parar la ejecucion de una funcion que llama a otra funcion en el caso de que pase algo, por ejemplo:

    Código:
            public void funcion1()
            {
                funcion2();
                MessageBox.Show("funcion1 ejecutada");
            }
            public void funcion2()
            {
                MessageBox.Show("funcion2 ejecutada");
            }
    la cosa es que al llamar a funcion1 me llama a funcion2, pero una vez que se ejecuta funcion2 vuelve a la funcion1 y continua ejecutando el codigo que esta debajo de funcion2();

    hay alguna forma de que no se ejecute el codigo que esta debajo de funcion2();?

    intente hacer un break; en funcion2 despues del messagebox pero obviamente no me dejo XD

    lo unico que se me ocurre es agregar una variable bool global y cambiar su valor una vez que se ejecute funcion2 y en funcion1 hacer un if preguntando el estado de el bool para ejecutar o no el otro codigo.


    pero... existe una manera mas corta?
    Solamente con eso queda mas o menos claro donde tienes el error. Si quieres saltarte todo hacia abajo, el break debe ir en funcion1, ya que si lo pones en funcion2, sera esta ultima la que haga el break (y por consiguiente retornara al flujo de funcion1)
    Última edición por SDogo; 07/01/2013 a las 05:21

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
*