using System; using System.Collections.Generic; using System.Text; namespace ReZero.TextTemplate { public class TemplateEngine : ITemplateEngine { private readonly Dictionary directives = new Dictionary(); public void AddDirective(string name, IDirective directive) { directives[name] = directive; } public void Render(string template, object data, StringBuilder output) { foreach (var directive in directives) { template = directive.Value.Execute(template, data, this); } output.Append(template); } } }