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

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

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

  2021-03-21 我要评论
想了解C#执行js动态编译的方法的相关内容吗,在本文为您仔细讲解C#执行js动态编译的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点: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#程序设计有所帮助。

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们