本文整理汇总了C#中EcmaScript.NET.Context.EvaluateReader方法的典型用法代码示例。如果您正苦于以下问题:C# Context.EvaluateReader方法的具体用法?C# Context.EvaluateReader怎么用?C# Context.EvaluateReader使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EcmaScript.NET.Context
的用法示例。
在下文中一共展示了Context.EvaluateReader方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ProcessSource
/// <summary> Evaluate JavaScript source.
///
/// </summary>
/// <param name="cx">the current context
/// </param>
/// <param name="filename">the name of the file to compile, or null
/// for interactive mode.
/// </param>
private void ProcessSource (Context cx, string filename)
{
if (filename == null) {
Console.WriteLine ("EcmaScript.NET v" + typeof (Context).Assembly
.GetName ().Version);
ScriptOrFnNode script = null;
string sourceName = "<stdin>";
int lineno = 1;
bool hitEOF = false;
do {
int startline = lineno;
Console.Error.Write ("js> ");
Console.Error.Flush ();
string source = "";
// Collect lines of source to compile.
while (true) {
string newline = Console.In.ReadLine ();
if (newline == null) {
hitEOF = true;
break;
}
source = source + newline + "\n";
lineno++;
// Continue collecting as long as more lines
// are needed to complete the current
// statement. stringIsCompilableUnit is also
// true if the source statement will result in
// any error other than one that might be
// resolved by appending more source.
if ((script = cx.IsCompilableUnit (source)) != null)
break;
}
try {
object result = cx.EvaluateString (this, source, sourceName, startline, (Object)null);
if (result != Context.UndefinedValue) {
Console.Error.WriteLine (ScriptConvert.ToString (result));
}
}
catch (Exception ex) {
PrintException (ex);
}
if (quitting || resetting) {
// The user executed the quit() function.
break;
}
}
while (!hitEOF);
Console.Error.WriteLine ();
}
else {
// Here we evalute the entire contents of the file as
// a script. Text is printed only if the print() function
// is called.
using (StreamReader sr = new StreamReader (filename)) {
try {
cx.EvaluateReader (this, sr, filename, 1, null);
} catch (Exception ex) {
PrintException (ex);
}
}
}
GC.Collect ();
}