我正在与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.