none
Ejecutar código de variable RRS feed

  • Pregunta

  • Hola, alguno de ustedes sabe si hay alguna forma de poder ejecutar un código que hay en una variable, por ejemplo,
    si la variable strEjecutar  tiene "Buton1.Visible = true" (strEjecutar = "Buton1.Visible = true") hay alguna forma en .net que yo pueda ejecutar el código que hay dentro de la variable? que en este caso seria colocar visible el botón llamado Buton1.
    miércoles, 29 de agosto de 2007 16:34

Respuestas

Todas las respuestas

  • Sino me equivoco y sino que me corrijan eso no de puede hacer compañero.

     

    Salu2

     

    Colabora con el foro: Si la respuesta te es de utilidad marca la pregunta como respondida.

    Luis Ruiz Pavón

    MCP - MCTS

    Blog: http://geeks.ms/blogs/lruiz

    jueves, 30 de agosto de 2007 6:38
    Moderador
  • Hola,

     

    Como bien dice Luis, eso no se puede hacer.

     

    Mediante reflexion puede crear objetos, implementar metodos en ellos y invocarlos dinamicamente... pero no puede crear codigo dentro de una clase ya existente en tiempo de ejecucion y ejecutarlo como si tal cosa.

     

    Ademas... aunque se pudiera hacer eso... estarias creando un agujero de seguridad, que seria la madre de todos los agujeros de seguridad, ya que dejarias abierta la posibilidad de ejecutar codigo malicioso arbitrariamente a cualquier usuario.

     

    Si ya inyeccion de codigo SQL:

     

    http://es.wikipedia.org/wiki/Inyecci%C3%B3n_SQL

     

    ya es muy peligrosa... esto que nos propones ya seria la repera.

     

    un saludo.

    jueves, 30 de agosto de 2007 6:52
    Moderador
  • Tal y como comentan los cracks no se puede hacer, aunque existiría un camino alternativo vía reflection.

     

    En tiempo de ejecución podrías crear una clase que recibiera como parámetro la instancia del formulario a modificar, y tratarla dentro de la clase creada al vuelo. Es un curre.... pero se podría llegar a hacer...

     

    Lo sé... duermo demasiadas pocas horas...

     

    Salud y suerte!

     

    jueves, 30 de agosto de 2007 7:08