如何让最终用户编写自己的函数?

时间:2014-01-26 13:32:56

标签: vb.net dynamic-function

我正在为一些金融产品建模,每个产品都有自己的定价公式。 在应用程序中,我想允许最终用户使用公式创建自己的产品。我的应用程序可以使用此公式为产品定价。

类似的东西:

Formula as string = "f(x) = x * 2"
Dim Result as double = call(Formula, 1)

我知道这在Matlab中是可行的:

f="@(x)(x*2)"; 
Result = feval(f,1);

我在Matlab中编写了一个实现此功能并将其集成到VB.Net项目中的类,但每个函数执行4700次直接用VB.Net编写的相同函数,这在业务需求方面是不可承受的。< / p>

这可能在.Net吗?

1 个答案:

答案 0 :(得分:0)

您可以查看MEF,以便最终用户以特定格式提供DLL模块(请参阅我提到的链接),稍后会在您的程序中发现并在任何给定时间执行。

或使用数学解析器:

但我觉得方法#1会更灵活。