Pregunta

¿Qué formas tengo en .NET para ejecutar el código desde la cadena?

Console.WriteLine(Compile("1 + 2 * 3"));    // results is 7.

¿Qué otras opciones tenemos?

  • C# - ¿Compilar el código en tiempo de ejecución?
  • Ironruby / Ironpython?
  • F#?
¿Fue útil?

Solución

Entonces, los idiomas dinámicos como Ironruby y Ironpython hacen que sea muy fácil hacer lo que desea. Cree un motor de script y ejecute la cadena. Fácil como eso.

C#, es posible usar el código DOM ... pero compila el código cada vez en una DLL. Este es un comportamiento costoso y puede hacer que su aplicación crezca en el tamaño de la memoria con el tiempo si no hace algunas cosas difíciles con los dominios de la aplicación. Se puede hacer, pero realmente prefiero usar Ironruby o Ironpython sobre este enfoque. Es mucho más simple.

Finalmente, en C# 5.0, esperamos ver el compilador como un servicio administrado. Esto significa que podrá ejecutar Eval ("// C#código") en el futuro ... pero aún no está disponible.

¡Espero eso ayude!

Otros consejos

Vista NCALC. Es una DLL que puede incluir en su aplicación y admite múltiples operaciones de matemáticas y lógicas. http://ncalc.codeplex.com/

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top