Calcule d'une expression mathematique par compilation

Contenu du snippet

fonction qui calcule une fonction mathematique simple par compilation d'une dll en memoire
ne gere pas les erreur , a vous de les gerer

Source / Exemple :


private string CalculeExpression(String expression)
        {
            //Instance d'un compilateur MSIL
            CodeDomProvider iCodeCompiler = CodeDomProvider.CreateProvider("CSharp");
            //Parametre pour la compilation
            CompilerParameters parameter = new CompilerParameters();
            //Génere une Dll en mémoire
            parameter.GenerateExecutable = false;
            parameter.GenerateInMemory = true;
            //Création du code executable
            string CodeSource = @"using System;
namespace Application1	
{ 
    public class EvalExpression	
    {

        public String Calcule() 
        {
            return (" + expression + @").ToString();
        }
    }
}";

            //Compilation
            CompilerResults cResult = iCodeCompiler.CompileAssemblyFromSource(parameter, CodeSource);

            //Création de l'instance de l'assembly
            Object oInstance = cResult.CompiledAssembly.CreateInstance("Application1.EvalExpression");
            Type tType = oInstance.GetType();
            //Invocation de la méthode
            return (string)tType.InvokeMember("Calcule", BindingFlags.InvokeMethod, null, oInstance, null);
        }

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.