本文整理汇总了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);");
}
示例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);
}
示例3: RunScript
protected virtual object RunScript(JintEngine ctx, string script)
{
return ctx.Execute(script);
}
示例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);
}
示例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);
}
示例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"));
}
示例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]);
}
示例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);"));
}
示例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"));
}