在C#中如何调用EVAL函数方法
2012-09-18 13:58
399 查看
我测试了如下的两种方法都可行。
一、用 MSScriptControl 在 C# 中执行 javascript 代码 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。
二、引用Microsoft.JScript与Microsoft.Vsa两个命名空间,并调用JScriptEvaluate方法实现
注:需加入Microsoft.JScript与Microsoft.Vsa两个命名空间。
/// <summary>
/// 四则混合运算
/// </summary>
/// <param name= "s "> 计算表达式 </param>
/// <returns> 计算结果 </returns>
/// <example>
/// <code>
/// object x = Mathx.Eval( "1+2*2-6/2 ");
/// </code>
/// </example>
public static object Eval(string s)
{
Microsoft.JScript.Vsa.VsaEngine ve = Microsoft.JScript.Vsa.VsaEngine.CreateEngine();
return Microsoft.JScript.Eval.JScriptEvaluate(s, ve);
}
一、用 MSScriptControl 在 C# 中执行 javascript 代码 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。
二、引用Microsoft.JScript与Microsoft.Vsa两个命名空间,并调用JScriptEvaluate方法实现
注:需加入Microsoft.JScript与Microsoft.Vsa两个命名空间。
/// <summary>
/// 四则混合运算
/// </summary>
/// <param name= "s "> 计算表达式 </param>
/// <returns> 计算结果 </returns>
/// <example>
/// <code>
/// object x = Mathx.Eval( "1+2*2-6/2 ");
/// </code>
/// </example>
public static object Eval(string s)
{
Microsoft.JScript.Vsa.VsaEngine ve = Microsoft.JScript.Vsa.VsaEngine.CreateEngine();
return Microsoft.JScript.Eval.JScriptEvaluate(s, ve);
}
相关文章推荐
- AjaxPro实现机制探讨——Ajax是如何调用服务器端C#方法的?
- C# 开发小技巧(一)如何在前台用JavaScript调用后台C#方法
- AjaxPro实现机制探讨——Ajax是如何调用服务器端C#方法的?
- C# 两个程序如何获得同用内存,一程序调用另外一程序内的方法或函数
- C#如何判断是哪个类的那个方法调用了当前方法
- 如何用C#创建一个类并在其他Web页中调用该类的方法(1)
- C#调用Exe文件的方法及如何判断程序调用的exe已结束
- AjaxPro实现机制探讨——Ajax是如何调用服务器端C#方法的?
- 如何通过C#.NET中的反射机制来创建C#.NET泛型类的实例,并调用其方法??
- Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库 自定义日志记录功能,按日记录,很方便 C#常量和字段以及各种方法的语法总结 类型,对象,线程栈,托管堆在运行时的关系,以及clr如何调用静态方法,实例方法,和虚方法 asp.net webapi 自定义身份验证
- 如何用C#创建一个类并在其他Web页中调用该类的方法(2)
- Unity SLua 如何调用Unity中C#方法
- 如何通过C#.NET中的反射机制来创建C#.NET泛型类的实例,并调用其方法??
- Jquery如何序列化form表单数据为JSON对象 C# ADO.NET中设置Like模糊查询的参数 从客户端出现小于等于公式符号引发检测到有潜在危险的Request.Form 值 jquery调用iframe里面的方法 Js根据Ip地址自动判断是哪个城市 【我们一起写框架】MVVM的WPF框架(三)—数据控件 设计模式之简单工厂模式(C#语言描述)
- C#调用Exe文件的方法及如何判断程序调用的exe已结束
- 【转】C# 子窗体如何调用父窗体的方法
- 如何在C#方法中调用JavaScript方法
- clr via c#学习体会——clr如何调用一个类型中定义的方法(上)
- unity3d 一个c#类如何调用另一个c#类中的属性和方法
- AjaxPro实现机制探讨——Ajax是如何调用服务器端C#方法?