在.NET中计算动态字符串公式?

在.NET中计算动态字符串公式?,.net,vb.net,formula,scriptcontrol,.net,Vb.net,Formula,Scriptcontrol,我正在做一个项目,需要在VB.NET中计算一些公式。我一直在使用来评估一些简单的逻辑/数学公式 然而,我现在面临着处理将程序中的变量设置为特定值的字符串表达式。举个例子,假设我得到了以下结果: Dim netPrice As Decimal Dim expressionFormula As String = "netPrice = 0" 我需要能够计算expressionFormula并将netPrice变量设置为0。我在MS脚本控件中尝试了.AddObject方法的不同组合,但没有任何效果

我正在做一个项目,需要在VB.NET中计算一些公式。我一直在使用来评估一些简单的逻辑/数学公式

然而,我现在面临着处理将程序中的变量设置为特定值的字符串表达式。举个例子,假设我得到了以下结果:

Dim netPrice As Decimal
Dim expressionFormula As String = "netPrice = 0"
我需要能够计算expressionFormula并将netPrice变量设置为0。我在MS脚本控件中尝试了.AddObject方法的不同组合,但没有任何效果

我应该提到这个示例只是为了说明,实际场景涉及来自类型化数据集的几个DataTable对象。最后,我的DataTable中的一些字段可能需要根据这些动态表达式设置为特定的常量值


谢谢你的帮助

如果您必须处理复杂的表达式,这个库可能会有所帮助:?

对于这种功能,您需要编写自己的解析器和求值器

看看Linq类-它可能会有所帮助


或者,根据您的方法,您可以使用编写和编译动态类来将表达式编译为C类/程序集。

您正在寻找的是

为什么将此问题标记为C?我看不到有人提到C…@马克:你说得对。起初我觉得它应该是独立于VB/C的,但现在我不太确定。我将删除C标记。谢谢您的回答。我最终采用了更严格的方法来编写公式,允许我解析公式,并利用DataSet/DataTable语法在设置值时动态插入字段和表名。感谢链接,它不满足我的需要,但它看起来可能是我目前使用的过时MS脚本控件的一个很好的替代品。我对D-Linq做了一些工作,但我不知道它如何帮助我完成我在示例中说明的工作。