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); }
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()); }