当前位置: 移动技术网 > IT编程>开发语言>c# > C#执行js动态编译的方法

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

2019年07月18日  | 移动技术网IT编程  | 我要评论

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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网