Exemplo n.º 1
0
        public async Task <string> RunAsync()
        {
            var blocks = BlockFactory.Parse(Content);

            blocks.Insert(0, UsingBlock.Parse("@using System.Text;"));
            blocks.Insert(1, ScriptBlock.Parse("@{ var Out = new StringBuilder(); }"));
            blocks.Add(ScriptBlock.Parse("@{ string result = Out.ToString(); }"));

            var csharp = blocks.ToCSharp();

            var options = ScriptOptions.Default;

            foreach (var refelence in References)
            {
                options = options.AddReferences(refelence);
            }

            var script = CSharpScript.Create(csharp, options);
            var state  = await script.RunAsync();

            foreach (var variable in state.Variables)
            {
                if (variable.Name == "result")
                {
                    return(variable.Value.ToString());
                }
            }

            return(string.Empty);
        }
Exemplo n.º 2
0
        public async Task <string> CompileToCSharpAsync()
        {
            var blocks = BlockFactory.Parse(Content);

            blocks.Insert(0, UsingBlock.Parse("@using System.Text;"));
            blocks.Insert(1, ScriptBlock.Parse("@{ var Out = new StringBuilder(); }"));
            blocks.Add(ScriptBlock.Parse("@{ string result = Out.ToString(); }"));

            return(await blocks.ToCSharpAsync());
        }