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

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.

标签:roslyn,read-eval-print-loop,c
来源: https://codeday.me/bug/20191122/2059343.html