当前位置: 首页>>代码示例>>C#>>正文


C# JintEngine.Execute方法代码示例

本文整理汇总了C#中JintEngine.Execute方法的典型用法代码示例。如果您正苦于以下问题:C# JintEngine.Execute方法的具体用法?C# JintEngine.Execute怎么用?C# JintEngine.Execute使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在JintEngine的用法示例。


在下文中一共展示了JintEngine.Execute方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ShouldNotRunInRun

        public void ShouldNotRunInRun()
        {
            var filename = Path.GetTempFileName();
            File.WriteAllText(filename, "a='bar'");

            var engine = new JintEngine().AddPermission(new FileIOPermission(PermissionState.None));
            engine.AllowClr();
            engine.SetFunction("load", new Action<string>(p => engine.ExecuteFile(p)));
            engine.SetFunction("print", new Action<string>(Console.WriteLine));
            engine.Execute("var a='foo'; load('" + EscapeStringLiteral(filename) + "'); print(a);");
        }
开发者ID:pvginkel,项目名称:Jint2,代码行数:11,代码来源:EngineTests.cs

示例2: ShouldRunInRun

        public void ShouldRunInRun()
        {
            var filename = Path.GetTempFileName();
            File.WriteAllText(filename, "a='bar'");

            var engine = new JintEngine().AddPermission(new FileIOPermission(PermissionState.Unrestricted));
            engine.AllowClr();

            // The DLR compiler won't compile with permissions set
            engine.DisableSecurity();

            engine.SetFunction("load", new Action<string>(p => engine.ExecuteFile(p)));
            engine.SetFunction("print", new Action<string>(Console.WriteLine));
            engine.Execute("var a='foo'; load('" + EscapeStringLiteral(filename) + "'); print(a);");

            File.Delete(filename);
        }
开发者ID:pvginkel,项目名称:Jint2,代码行数:17,代码来源:EngineTests.cs

示例3: RunScript

 protected virtual object RunScript(JintEngine ctx, string script)
 {
     return ctx.Execute(script);
 }
开发者ID:pvginkel,项目名称:Jint2,代码行数:4,代码来源:ScriptTestBase.cs

示例4: ExecuteV8

        private static void ExecuteV8()
        {
            const string fileName = @"..\..\..\Jint.Benchmarks\Suites\V8\raytrace.js";

            var jint = new JintEngine();

            jint.DisableSecurity();

            jint.ExecuteFile(@"..\..\..\Jint.Benchmarks\Suites\V8\base.js");

            jint.SetFunction(
                "NotifyResult",
                new Action<string, string>((name, result) => { })
            );
            jint.SetFunction(
                "NotifyError",
                new Action<string, object>((name, error) => { })
            );

            string score = null;

            jint.SetFunction(
                "NotifyScore",
                new Action<string>(p => { score = p; })
            );

            jint.ExecuteFile(fileName);

            Console.WriteLine("Attach");
            Console.ReadLine();

            jint.Execute(@"
                BenchmarkSuite.RunSuites({
                    NotifyResult: NotifyResult,
                    NotifyError: NotifyError,
                    NotifyScore: NotifyScore,
                    Runs: 1
            });");

            Console.WriteLine("Score: " + score);
        }
开发者ID:pvginkel,项目名称:Jint2,代码行数:41,代码来源:Program.cs

示例5: RunInclude

        protected override void RunInclude(JintEngine engine, string fileName)
        {
            string source;

            if (!_includeCache.TryGetValue(fileName, out source))
            {
                source =
                    GetSpecialInclude(fileName) ??
                    File.ReadAllText(Path.Combine(_libPath, fileName));

                _includeCache.Add(fileName, source);
            }

            engine.Execute(source, fileName);
        }
开发者ID:pvginkel,项目名称:Jint2,代码行数:15,代码来源:FixturesFixture.cs

示例6: ShouldNotReproduceBug85418

 public void ShouldNotReproduceBug85418()
 {
     var engine = new JintEngine();
     engine.SetParameter("a", 4);
     Assert.AreEqual(4, engine.Execute("return a"));
     Assert.AreEqual(4d, engine.Execute("return 4"));
     Assert.AreEqual(true, engine.Execute("return a == 4"));
     Assert.AreEqual(true, engine.Execute("return 4 == 4"));
     Assert.AreEqual(true, engine.Execute("return a == a"));
 }
开发者ID:pvginkel,项目名称:Jint2,代码行数:10,代码来源:EngineTests.cs

示例7: ShouldHandleClrArrays

        public void ShouldHandleClrArrays()
        {
            var values = new int[] { 2, 3, 4, 5, 6, 7 };
            var jint = new JintEngine()
            .SetParameter("a", values)
            .AllowClr();

            Assert.AreEqual(3, jint.Execute("a[1];"));
            jint.Execute("a[1] = 4");
            Assert.AreEqual(4, jint.Execute("a[1];"));
            Assert.AreEqual(4, values[1]);

        }
开发者ID:pvginkel,项目名称:Jint2,代码行数:13,代码来源:EngineTests.cs

示例8: ShouldRetainGlobalsThroughRuns

        public void ShouldRetainGlobalsThroughRuns()
        {
            var jint = new JintEngine();

            jint.Execute("i = 3; function square(x) { return x*x; }");

            Assert.AreEqual(3d, jint.Execute("return i;"));
            Assert.AreEqual(9d, jint.Execute("return square(i);"));
        }
开发者ID:pvginkel,项目名称:Jint2,代码行数:9,代码来源:EngineTests.cs

示例9: ShouldReturnDelegateForFunctions

 public void ShouldReturnDelegateForFunctions()
 {
     const string script = "ccat=function (arg1,arg2){ return arg1+' '+arg2; }";
     JintEngine engine = new JintEngine().SetFunction("print", new Action<string>(Console.WriteLine));
     engine.Execute(script);
     Assert.AreEqual("Nicolas Penin", engine.CallFunction("ccat", "Nicolas", "Penin"));
 }
开发者ID:pvginkel,项目名称:Jint2,代码行数:7,代码来源:EngineTests.cs


注:本文中的JintEngine.Execute方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。