欢迎来到代码驿站!

.NET代码

当前位置:首页 > 软件编程 > .NET代码

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

时间:2021-05-20 09:29:22|栏目:.NET代码|点击:

本文实例讲述了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#程序设计有所帮助。

上一篇:asp.net实现上传文件显示本地绝对路径的实例代码

栏    目:.NET代码

下一篇:.net 单点登录的设计与实践

本文标题:C#执行js动态编译的方法

本文地址:http://www.codeinn.net/misctech/125189.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有