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


C# Context.CompileFunction方法代码示例

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


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

示例1: JsConstructor

		private static object JsConstructor(Context cx, Scriptable scope, object[] args)
		{
			int arglen = args.Length;
			StringBuilder sourceBuf = new StringBuilder();
			sourceBuf.Append("function ");
			if (cx.GetLanguageVersion() != Context.VERSION_1_2)
			{
				sourceBuf.Append("anonymous");
			}
			sourceBuf.Append('(');
			// Append arguments as coma separated strings
			for (int i = 0; i < arglen - 1; i++)
			{
				if (i > 0)
				{
					sourceBuf.Append(',');
				}
				sourceBuf.Append(ScriptRuntime.ToString(args[i]));
			}
			sourceBuf.Append(") {");
			if (arglen != 0)
			{
				// append function body
				string funBody = ScriptRuntime.ToString(args[arglen - 1]);
				sourceBuf.Append(funBody);
			}
			sourceBuf.Append("\n}");
			string source = sourceBuf.ToString();
			int[] linep = new int[1];
			string filename = Context.GetSourcePositionFromStack(linep);
			if (filename == null)
			{
				filename = "<eval'ed string>";
				linep[0] = 1;
			}
			string sourceURI = ScriptRuntime.MakeUrlForGeneratedScript(false, filename, linep[0]);
			Scriptable global = ScriptableObject.GetTopLevelScope(scope);
			ErrorReporter reporter;
			reporter = DefaultErrorReporter.ForEval(cx.GetErrorReporter());
			Evaluator evaluator = Context.CreateInterpreter();
			if (evaluator == null)
			{
				throw new JavaScriptException("Interpreter not present", filename, linep[0]);
			}
			// Compile with explicit interpreter instance to force interpreter
			// mode.
			return cx.CompileFunction(global, source, evaluator, reporter, sourceURI, 1, null);
		}
开发者ID:hazzik,项目名称:Rhino.Net,代码行数:48,代码来源:BaseFunction.cs


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