C#执行js动态编译的方法

本文实例讲述了C#执行js动态编译的方法。分享给大家供大家参考。具体实现方法如下:

代码如下:

using System;

using System.CodeDom.Compiler;

using System.Collections.Generic;

using System.Linq;

using System.Reflection;

using System.Text;

using System.Threading.Tasks;

namespace webpro

{

public class JScripta

{

private static readonly CodeDomProvider _provider = new Microsoft.JScript.JScriptCodeProvider();

private static Type _evaluateType;

private const string scriptStr = @”package fhs

{

public class MyJs

{

public static function test1(paramr1)

{

var retString  =   paramr1+ ‘是无敌的!’;

return retString;

}

}

}”;

public static object JScriptRun(string jsMethodName,object[] testParams)

{

//编译的参数

CompilerParameters parameters = new CompilerParameters();

parameters.GenerateInMemory = true;

CompilerResults results = _provider.CompileAssemblyFromSource(parameters, scriptStr);

Assembly assembly = results.CompiledAssembly;

//动态编译脚本中的内容

_evaluateType = assembly.GetType(“fhs.MyJs”);

//执行指定的方法并传参数

object retObj = _evaluateType.InvokeMember(jsMethodName, BindingFlags.InvokeMethod,

null, null, testParams);

return retObj;

}

}

}

希望本文所述对大家的C#程序设计有所帮助。

除声明外,跑步客文章均为原创,转载请以链接形式标明本文地址
  C#执行js动态编译的方法

本文地址:  http://www.paobuke.com/develop/c-develop/pbk23186.html

相关内容

C#中倒序输出字符串的方法示例

C#与Java的MD5简单验证(实例代码)

TortoiseSVN使用教程

C#遍历文件夹后上传文件夹中所有文件错误案例分析


C#实现将数据导出到word或者Excel中的方法

C#中的尾递归与Continuation详解

C#图像亮度调整的方法

c#编写的高并发数据库控制访问代码

时间: 2024-11-01 13:21:50

C#执行js动态编译的方法的相关文章

c# 执行js 动态编译

using System; using System.CodeDom.Compiler; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace webpro { public class JScripta { private static readonly CodeDomProv

转: angularjs 指令中动态编译的方法(适用于有异步请求的情况) 内嵌指令无效

angular的坑很多 例子: 在directive的link中有一个$http请求,当请求完成后根据返回的值动态做element.append('......');这个操作, 能显示没问题,可问题是我动态组的HTML里面有ng-click,发现显示出来的内容根本不执行ng-click绑定的方法! 这个是因为异步返回之后,指令的编译已经完成,因此需要动态编译. 使用$compile服务! 在link方法中对返回后的html代码经过$compile服务处理后再插入: var el=$compile

C# WinForm程序执行JS代码的多种方法

方法一 使用微软官方组件Interop.MSScriptControl 1.msscript.ocx下载的地址   http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=D05FCF37-4D9F-4769-9442-0BCEEF907033 或者点击此处下载 Interop.MSScriptControl.dll 2.项目中引用 msscript.ocx 或者 Interop.MSScriptCon

WinForm程序执行JS代码的多种方法以及使用WebBrowser与JS交互

原文地址:http://www.cnblogs.com/feiyuhuo/p/5474790.html 方法一 使用微软官方组件Interop.MSScriptControl 1.msscript.ocx下载的地址   http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=D05FCF37-4D9F-4769-9442-0BCEEF907033 或者点击此处下载 Interop.MSScriptCon

js动态创建表格方法

1 window.onload = function(){ 2 var table = document.createElement('table'); 3 table.border = 1; 4 table.width = '100%'; 5 var tbody = document.createElement('tbody'); 6 table.appendChild(tbody); 7 //主角登场了 insertRow; 作用是向指定位置插入一行 rows返回表格的所有行 cells返回

使用getScript()方法异步加载并执行js文件

使用getScript()方法异步加载并执行js文件 使用getScript()方法异步请求并执行服务器中的JavaScript格式的文件,它的调用格式如下所示: jQuery.getScript(url,[callback])或$.getScript(url,[callback]) 参数url为服务器请求地址,可选项callback参数为请求成功后执行的回调函数. 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//E

反射已经&quot;Out&quot;,动态编译才能&quot;Hold&quot;住

Net支持反射功能以后,确实使我们Net程序眼前一亮啊,真是太神奇了,只需要传入字符串就可以完成功能.可以说,反射功能的引入,使我们在处理某些问题上更加得心应手. 传统的Db管理软件中,数据库字段的频繁改动,前台实体类的不断修改,使我们大为头痛.并不是说我们设计的Db结构不合理,而且客户的需求变动十分频繁,而且非常不可控,当然,如果对行业业务非常精通的话,是可以避免这个问题的. 使用反射功能,虽然可以传入字符串来解决某些问题,但如果遇到上述提到的数据库字段增删的问题,我们常用的方法是写入给客户升

busybox静态编译及动态编译实践

1. 简介 BusyBox 是一个集成了一百多个最常用linux命令和工具的软件.BusyBox 包含了一些简单的工具,例如ls.cat和echo等等,还包含了一些更大.更复杂的工具,例grep.find.mount以及telnet.有些人将 BusyBox 称为 Linux 工具里的瑞士军刀. 简单的说BusyBox就好像是个大工具箱,它集成压缩了Linux的许多工具和命令.除此之外,提供了良好的编程框架,用户能够将自己的命令集成到busybox当中.在实际的使用过程中,busybox常常被用

C# 反射,动态编译

反射是动态获取程序集的元数据的一种技术,这句话是做.NET程序员面试题目的一个的答案,你可选择记住它,就好比高中生物学里面讲到的细胞的结构的课程时,细胞由细胞膜,细胞质和细胞核组成.根据做程序的经验,Never ask why不是好习惯,即使是微软的API,有时候违反了调用约定,也会很抓狂. 请看下面这一段代码 Assembly assembly = Assembly.GetExecutingAssembly(); object entryForm = Activator.CreateInsta