Compilation dynamique en C#
Evaluer une expression mathématique en compilant du code C# au runtime Introduction Il existe beaucoup d'articles sur la manière d'évaluer dynamiquement des expressions mathématiques. Cette semaine, je vais vous montrer comment on peut, à l'aide du Framework .NET 2.0, compiler du code C# à la volée et l'utiliser dans une application. Imaginons que nous ayons besoin de calculer une fonction 3D telle que celle-ci ; z = f(x,y) Nous voulons laisser à l'utilisateur la possibilité de définir lui-même la fonction f. Par exemple : z = Math.Cos(x) * Math.Sin(y) Une solution possible pour résoudre ce problème en moins de 10 minutes serait de : Laisser l'utilisateur saisir sa fonction Compiler cette fonction en mémoire Exécuter la fonction en lui passant les paramètres x et y Afficher le résultat z Un peu de code... Pour commencer, nous allons définir une classe avec une méthode virtuelle qui servira de modèle pour l'implémentation de notre fonction : namespace MathPar