Question

Quelles façons dois-je en .net à exécuter du code de chaîne?

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

Quelles sont les autres options sont-elles?

  • C # - Compile le code sur l'exécution
  • IronRuby / IronPython?
  • F #?
Était-ce utile?

La solution

Ainsi, les langues dynamiques comme IronRuby et IronPython, il est très facile à faire ce que vous voulez. Créer un moteur de script et d'exécuter la chaîne. Aussi simple que ça.

C #, il est possible, en utilisant le code DOM ... mais il compile le code à chaque fois dans une DLL. Ceci est un comportement coûteux et peut causer votre application à croître en taille de la mémoire au fil du temps si vous ne faites pas certaines choses difficiles avec App domaines. Il peut être fait, mais je préfère vraiment en utilisant IronRuby ou IronPython sur cette approche. Il est beaucoup plus simple.

Enfin, en C # 5.0, nous nous attendons à voir le compilateur en tant que service géré. Cela signifie que vous seront en mesure d'exécuter eval ( « // c # code ») à l'avenir ... mais ce ne sont pas encore disponibles.

it helps!

Autres conseils

Commander NCalc. Il est une dll vous pouvez inclure dans votre application et il prend en charge plusieurs opérations mathématiques et logiques. http://ncalc.codeplex.com/

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top