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);
}
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.