Запись функции в файл для ее последующего вызова - C#
Формулировка задачи:
Доброе время суток.
Столкнулся со следующей проблемой: необходимо посчитать на огромном количестве точек значение функцией задаваемой пользователем. У меня в программе функция (string) разбивается, переводится в постфиксную форму и делается дерево выражения, по которому уже считается значение функции в точке. При огромных количествах повторений вычисления очень много времени тратится на обход времени. Возникает вопрос: можно ли как-нибудь, построив дерево выражения, один раз сделать файл функции, которая бы далее вызывалась в программе? Например, пользователь ввел функцию cos(x)+sin(y), а у нас появился файл с примерным содержанием:
public double func(double x, double y) { return Math.Cos(x) + Math.Sin(y); }
Решение задачи: «Запись функции в файл для ее последующего вызова»
textual
Листинг программы
CodeDomProvider provider = new Microsoft.CSharp.CSharpCodeProvider(); CompilerResults result = provider.CompileAssemblyFromFile(new CompilerParameters(), "Class1.cs"); System.Reflection.Assembly resultAssembly = result.CompiledAssembly; Type myType = resultAssembly.GetType("ClassLibrary1.Class1"); object myClassInstance = Activator.CreateInstance(myType);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д