我正在尝试枚举程序集中声明的所有命名空间。
像这样做感觉非常不优雅:
foreach (var syntaxTree in context.Compilation.SyntaxTrees)
{
foreach (var ns in syntaxTree.GetRoot(context.CancellationToken).DescendantNodes().OfType<NamespaceDeclarationSyntax>())
{
...
}
}
有什么好的方法可以做到这一点吗? 使用树遍历器可能会更好,但是在此之前先进行询问,因为我有一种感觉,这已经在符号API中某个地方存在。