当前位置: 首页 > 编程笔记 >

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

有睿
2023-03-14
本文向大家介绍C#执行js动态编译的方法,包括了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#程序设计有所帮助。

 类似资料:
  • 本文向大家介绍asp.net mvc 动态编译生成Controller的方法,包括了asp.net mvc 动态编译生成Controller的方法的使用技巧和注意事项,需要的朋友参考一下 做网站后台管理系统的时候,有时我们需要根据用户的录入配置动态生成一些频道,这些频道需要用到独立的Controller,这时就需要用到运行时动态编译了。代码如下: 流程如下:   mvc启动的时候,只有HomeCo

  • 以下是我的cmake代码: 我尝试从链接中合并步骤,但没有工作,并得到以下错误: /usr/bin/ld:尝试动态对象的静态链接`/usr/lib/x86_64-linux-gnu/libglu.so'collect2:错误:ld返回1退出状态src/cmakefiles/wwest-export-app.out.dir/build.make:774:recipe for targe'bin/ww

  • 主要内容:1.概述,2.Compiler,3.AdaptiveCompiler,4.AbstractCompiler,5. JavassistCompiler1.概述 在 Java 语言中,大多数情况下,我们已经编写好 Java 类,并编译成 Class 文件进行运行。但是在一些场景下,例如动态代理,需要运用到动态编译的技术 例如,SPI中的 createAdaptiveExtensionClassCode方法中,我们可以看到如下代码: 调用 Compiler#compile(code, cla

  • 本文向大家介绍JS动态增删表格行的方法,包括了JS动态增删表格行的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS动态增删表格行的方法。分享给大家供大家参考,具体如下: 更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScrip

  • 我正在重新编写这个问题,因为我认为原文不太清楚。 基本上,我有一个“wrapper”指令,在该指令中,我试图动态地将属性添加到一个已包装(转包)的元素中。我可以让它工作,但Angular似乎不知道一旦添加了新属性。 如果我使用,Angular确实可以识别它们——但代价是加倍编译转置的内容,在这种情况下,它会加倍标记中的

  • 本文向大家介绍PHP实现动态执行代码的方法,包括了PHP实现动态执行代码的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP实现动态执行代码的方法。分享给大家供大家参考,具体如下: 这里介绍的PHP动态执行,即在页面上直接输入代码,点击执行,返回执行结果 方法很简单,主要使用了: 函数来实现。 代码如下: 更多关于PHP相关内容感兴趣的读者可查看本站专题:《php操作office文