C#执行js动态编译的方法
本文实例讲述了C#执行js动态编译的方法。分享给大家供大家参考。具体实现方法如下:
usingSystem; usingSystem.CodeDom.Compiler; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Reflection; usingSystem.Text; usingSystem.Threading.Tasks; namespacewebpro { publicclassJScripta { privatestaticreadonlyCodeDomProvider_provider=newMicrosoft.JScript.JScriptCodeProvider(); privatestaticType_evaluateType; privateconststringscriptStr=@"packagefhs { publicclassMyJs { publicstaticfunctiontest1(paramr1) { varretString = paramr1+'是无敌的!'; returnretString; } } }"; publicstaticobjectJScriptRun(stringjsMethodName,object[]testParams) { //编译的参数 CompilerParametersparameters=newCompilerParameters(); parameters.GenerateInMemory=true; CompilerResultsresults=_provider.CompileAssemblyFromSource(parameters,scriptStr); Assemblyassembly=results.CompiledAssembly; //动态编译脚本中的内容 _evaluateType=assembly.GetType("fhs.MyJs"); //执行指定的方法并传参数 objectretObj=_evaluateType.InvokeMember(jsMethodName,BindingFlags.InvokeMethod, null,null,testParams); returnretObj; } } }
希望本文所述对大家的C#程序设计有所帮助。