CSharpUtils.Templates.TemplateCodeGen.RenderCodeTo C# (CSharp) Méthode

RenderCodeTo() protected méthode

protected RenderCodeTo ( TextWriter TextWriter ) : void
TextWriter System.IO.TextWriter
Résultat void
		protected void RenderCodeTo(TextWriter TextWriter)
		{
			var TemplateHandler = new TemplateParser(Tokens, TextWriter);
			var Context = new ParserNodeContext(TextWriter, TemplateFactory);
			TemplateHandler.Reset();
			var ParserNode = TemplateHandler.HandleLevel_Root();

			//OptimizedParserNode.Dump();
			Context.WriteLine("using System;");
			Context.WriteLine("using System.Collections.Generic;");
			Context.WriteLine("using System.Threading.Tasks;");
			Context.WriteLine("using CSharpUtils.Templates;");
			Context.WriteLine("using CSharpUtils.Templates.Runtime;");
			Context.WriteLine("using CSharpUtils.Templates.TemplateProvider;");
			Context.WriteLine("");
			//Context.WriteLine("namespace CSharpUtils.Templates.CompiledTemplates {");
			Context.Indent(delegate()
			{
				Context.WriteLine("class CompiledTemplate_TempTemplate : TemplateCode {");

				Context.Indent(delegate()
				{
					Context.WriteLine("public CompiledTemplate_TempTemplate(TemplateFactory TemplateFactory = null) : base(TemplateFactory) { }");
					Context.WriteLine("");

					Context.WriteLine("public override void SetBlocks(Dictionary<String, RenderDelegate> Blocks) {");
					Context.Indent(delegate()
					{
						foreach (var BlockPair in TemplateHandler.Blocks)
						{
							Context.WriteLine(String.Format("SetBlock(Blocks, {0}, Block_{1});", StringUtils.EscapeString(BlockPair.Key), BlockPair.Key));
						}
					});
					Context.WriteLine("}");
					Context.WriteLine("");

					Context.WriteLine("async protected override Task LocalRenderAsync(TemplateContext Context) {");
					Context.Indent(delegate()
					{
						ParserNode.OptimizeAndWrite(Context);
					});
					Context.WriteLine("}"); // Method

					foreach (var BlockPair in TemplateHandler.Blocks)
					{
						Context.WriteLine("");
						Context.WriteLine("public async Task Block_" + BlockPair.Key + "(TemplateContext Context) {");
						Context.Indent(delegate()
						{
							BlockPair.Value.OptimizeAndWrite(Context);
						});
						Context.WriteLine("}"); // Method
					}
				});

				Context.WriteLine("}"); // class
			});

			//Context.WriteLine("}"); // namespace
		}