javascript 中有个eval方法,用过的人都知道他的方便和强大之处。

在C#中,我们也可以通过Com组件来执行一段javascript代码。

下面的代码展示了如何用MSScriptControl 组件执行一段数学表达式:

   MSScriptControl.ScriptControlClass sc = new MSScriptControl.ScriptControlClass();
   sc.Language = "javascript";
   object obj = sc.Eval(" 1 + 2 * (3 + 4)");
   Console.WriteLine(obj);

要使用MSScriptControl需要引用com组件 Microsoft Script Control 1.0。MS Script Control的  COM

还有一种方法:

// csc.exe noname1.cs /r:C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Microsoft.JScript.dll

//注:需加入Microsoft.JScript与Microsoft.Vsa两个命名空间。

public class Class1

{

static void Main(string[] args)

{

System.Console.WriteLine("Hello World");

string Expression = "var result:int =0;result==1?\"成功\":\"失败\"";

Microsoft.JScript.Vsa.VsaEngine ve = Microsoft.JScript.Vsa.VsaEngine.CreateEngine();

Console.WriteLine(Microsoft.JScript.Eval.JScriptEvaluate(Expression, ve));

}

}

相关文章:

  • 2021-11-17
  • 2022-12-23
  • 2021-12-11
  • 2022-02-22
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-01-08
  • 2021-08-26
  • 2021-12-09
  • 2021-09-01
  • 2021-06-08
  • 2021-08-21
  • 2021-12-12
相关资源
相似解决方案