【问题标题】:Implementing JS Eval in C#在 C# 中实现 JS 评估
【发布时间】:2014-08-27 06:08:00
【问题描述】:

可能重复:
C# eval equivalent?

How can I evaluate C# code dynamically? 的副本

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

【问题讨论】:

标签: c# javascript eval


【解决方案1】:

您实际上可以使用 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);

【讨论】:

  • 这是在任何 .NET 语言中快速评估的非常实用的解决方案。您只需要包含对 Microsoft.JScript.dll 的引用。
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-17
      • 2015-12-13
      • 1970-01-01
      • 2021-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-15
      相关资源
      最近更新 更多