Запись функции в файл для ее последующего вызова - 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);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.308 из 5