【发布时间】:2017-12-29 06:53:42
【问题描述】:
我有一些带有源代码的字符串,例如
var newSource = @"
int a = 5;
int b = 10;
Console.WriteLine(a + b);";
我尝试使用已解析的代码创建 BlockSyntax 对象
var newTokens = SyntaxFactory.ParseTokens(newSource);
var newBody = SyntaxFactory.Block();
newBody = newBody.InsertTokensAfter(
newBody.OpenBraceToken, // or newBody.ChildTokens().First()
newTokens
);
但是方法 InsertTokenAfter 会抛出 System.InvalidOperationException '指定的项目不是列表的元素。'
据我了解,该方法在 ChildTokens() 中找不到令牌,但是为什么会发生呢?
.NET Core 1.0.4
【问题讨论】: