CodeGo.net>如何知道输入是否仅在罗斯林的ScripEngine中部分完成

我正在与Roslyn建立REPL.

我如何确定会话的输入是否仅部分完成:

> 1+1;
> 2 //that works
> int MyMethod(string a){
  //error here, i'd like to continue writing the expression

此代码显示了问题:

var engine = new ScriptEngine();
var session = engine.CreateSession();
var input = "int MyMethod(string a){";
session.Execute(input); //Exception: error CS1513: } expected

我必须怎么做才能确定输入是否完整?因此,我可以在REPL中显示另一行,直到表达式完成.

解决方法:

作为CTP一部分的交互式窗口为此使用Syntax.IsCompleteSubmission API.

上一篇:CodeGo.net>如何确定FieldDeclarationSyntax的类型是否是罗斯林的接口?


下一篇:首页> C#>如何检查与CodeDom编译之前的编译错误