C#执行js动态编译的方法
C#执行js动态编译的方法
发布时间:2016-12-28 来源:查字典编辑
摘要:本文实例讲述了C#执行js动态编译的方法。分享给大家供大家参考。具体实现方法如下:复制代码代码如下:usingSystem;usingSys...

本文实例讲述了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#教程学习
热门C#教程学习
编程开发子分类