static void Main(string[] args) { var tmplFilePath = Path.Combine(Environment.CurrentDirectory, @"Statics\Template.txt"); var dataFilePath = Path.Combine(Environment.CurrentDirectory, @"Statics\Data.xml"); //read template var content = File.ReadAllText(tmplFilePath); //read message var xml = XDocument.Load(dataFilePath).Element("item"); //convert message to Dictionary var converter = new LinqDataConverter(); //var data = converter.ToData(xml); var data = GetData(); //get custom methods var methodsMapper = new InvokeMethodsMapper(); var parser = new TemplateParser(new FunctionsContainer()); //set custom methods for parser parser.SetMethods(methodsMapper.GetMethods().ToArray()); //create and compile template var factory = new BinaryTemplatesFactory(parser); var template = factory.Compile(content, true); template.SetHandlers(() => methodsMapper.GetInvokers()); //render content var output = template.Render(data); Console.WriteLine(output); Console.ReadLine(); }
public Fuzz() { var methodsMapper = new InvokeMethodsMapper(); var parser = new TemplateParser(new FunctionsContainer()); //set custom methods for parser parser.SetMethods(methodsMapper.GetMethods().ToArray()); //create and compile template var factory = new BinaryTemplatesFactory(parser); _template = factory.Compile(tmpl, true); //_template.SetHandlers(() => methodsMapper.GetInvokers()); }