【发布时间】:2021-07-22 13:23:18
【问题描述】:
我有一些string[] 类型的用户输入用于计算。我想编译它们并获得比任何其他方法更快的计算。
用户输入字符串:
double _1 = 2 + 2;
double _2 = _1 + Get_Variable("var1");
return _2;
我将输入转换为适合生成 dll 的字符串
namespace namespace_Calculator
{
public class Class_Calculator
{
public static double Start_Calculating()
{
//user defined string[] type calculation inputs
double _1 = 2 + 2;
double _2 = _1 + Get_Variable("var1");
return _2;
//user defined string[] type calculation inputs
}
}
}
如何从主 exe 中返回 Get_Variable() 函数?
我目前正在使用DataTable().Compute()
我可以调用Start_Calculating() 并获得不带变量的结果。
object[] p = new object[] { };
Assembly yeni = AppDomain.CurrentDomain.Load(File.ReadAllBytes(Dll_location));
Type t = yeni.GetType("namespace_Calculator.Class_Calculator");
MethodInfo mi = t.GetMethod("Start_Calculating");
object ins = Activator.CreateInstance(t);
double cevap = (double)mi.Invoke(ins, p);
提前致谢。
【问题讨论】:
标签: c# event-handling .net-assembly .net-5 codedom