Exemple #1
0
        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();
        }
Exemple #2
0
        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());
        }