在C#中实现JS Eval

时间:2009-08-11 12:30:33

标签: c# javascript eval

  

可能重复:
  C# eval equivalent?

     

重复How can I evaluate C# code dynamically?

我们如何在C#中实现JS eval() 如果可能提供一个例子.. 谢谢

3 个答案:

答案 0 :(得分:4)

您实际上可以使用C#...

中的JScript eval函数

使用以下JScript代码创建文件JsMath.js:

class JsMath
{
    static function Eval(expression : String) : double
    {
        return eval(expression);
    };
}

将其编译为DLL:

jsc /t:library JsMath.js

在项目中添加对JsMath.dll的引用。您现在可以在代码中使用JsMath类:

double result = JsMath.Eval(expression);

答案 1 :(得分:0)

如果您可以使用C#3.0 / .NET 3.5,则可以在MSDN代码库的C# Samples for Visual Studio 2008中的 DynamicQuery 下找到完全可操作的表达式解析器示例。这使得不仅可以评估单个表达式,甚至可以从它们或LINQ表达式创建函数(委托)。 (LinqDataSource控件在内部使用此示例的略微修改版本。)

答案 2 :(得分:-1)

转到http://json.org/并滚动到底部。在左栏中查找C#。