*Aus dem Sourcecodeaustausch verschoben, da für dort leider unzureichend*
Hallo liebes Forum,
eine effiziente und extrem einfache Implementierung eines EquationsParser :
Aufruf:
haha
Hallo liebes Forum,
eine effiziente und extrem einfache Implementierung eines EquationsParser :
C#-Quellcode
- public static double Calculate(string equation)
- {
- using (Microsoft.CSharp.CSharpCodeProvider foo = new Microsoft.CSharp.CSharpCodeProvider())
- {
- var res = foo.CompileAssemblyFromSource(
- new System.CodeDom.Compiler.CompilerParameters()
- {
- GenerateInMemory = false
- },
- "using System;" +
- "public class FooClass { " +
- "public double Execute() " +
- "{ return (double)" + equation + "; }" +
- "}"
- );
- var type = res.CompiledAssembly.GetType("FooClass");
- var obj = Activator.CreateInstance(type, new object[] { });
- var output = type.GetMethod("Execute").Invoke(obj, new object[] { });
- return (double)output;
- }
- }
Aufruf:
haha
Und Gott alleine weiß alles am allerbesten und besser.
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „φConst“ ()