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

 更新时间:2015年01月20日 09:20:00   投稿:shichen2014  
这篇文章主要介绍了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#程序设计有所帮助。

相关文章

  • C#基础之异步调用实例教程

    C#基础之异步调用实例教程

    这篇文章主要介绍了C#中的异步调用,对比同步调用分析了异步调用的原理及特点,并以实例形式给出了实现方法,需要的朋友可以参考下
    2014-09-09
  • rsa加密算法使用示例分享

    rsa加密算法使用示例分享

    这篇文章主要介绍了rsa加密算法使用示例,代码中有注释,大家参考使用吧
    2014-01-01
  • C#基于Socket的TCP通信实现聊天室案例

    C#基于Socket的TCP通信实现聊天室案例

    这篇文章主要为大家详细介绍了C#基于Socket的TCP通信实现聊天室案例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • unity 如何使用LineRenderer 动态划线

    unity 如何使用LineRenderer 动态划线

    这篇文章主要介绍了unity 使用LineRenderer 动态划线的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • C#检测是否有u盘插入的方法

    C#检测是否有u盘插入的方法

    这篇文章主要介绍了C#检测是否有u盘插入的方法,涉及C#操作硬件的相关技巧,需要的朋友可以参考下
    2015-04-04
  • C# winform 模拟键盘输入自动接入访问网络的实例

    C# winform 模拟键盘输入自动接入访问网络的实例

    本篇文章主要介绍了C# winform 模拟键盘输入自动接入访问网络,有兴趣的可以了解一下。
    2016-11-11
  • C#实现单例模式的6种方法小结

    C#实现单例模式的6种方法小结

    这篇文章主要介绍了C#实现单例模式的6种方法,C#中实现单例有很多种方法,本文将按顺序介绍非线程安全、完全懒汉式、线程安全和低/高性能集中版本,需要的朋友可以参考下
    2022-09-09
  • Unity3D快速入门教程

    Unity3D快速入门教程

    本文讲述了Unity3D如何快速入门,包含Unity3D游戏引擎介绍,学习历程和Unity3D快速入门的途径,通过该篇文章的讲解,希望能够让你更好的去学习Unity3D引擎
    2021-06-06
  • C#如何通过RFC连接sap系统

    C#如何通过RFC连接sap系统

    这篇文章主要为大家详细介绍了C#如何通过RFC连接sap系统的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • WPF绑定实例详解

    WPF绑定实例详解

    这篇文章主要介绍了WPF绑定的用法,包括了WPF绑定控件及非控件对象的用法,以及各类参数的详细用法,需要的朋友可以参考下
    2014-09-09

最新评论