从全局命名空间,可以迭代所有命名空间:
foreach (NamespaceSymbol @namespace in globalNamespace.GetNamespaceMembers())
从每个命名空间,可以迭代它们的类:
foreach (NamedTypeSymbol @class in @namespace.GetTypeMembers())
类和方法或字段也会发生同样的情况:
foreach (Symbol member in @class.GetMembers())
但是,我找不到任何方法来迭代方法的语句。我怎样才能继续遍历语义树?
最佳答案
您需要找到用于声明符号的 SyntaxNode: How to find the SyntaxNode for a method Symbol in a CompilationUnit?
一旦你有了 SyntaxNode(例如 MethodDeclarationSyntax),你就可以遍历它,例如使用 DescendantNodes() 或 ChildNodesAndTokens。
关于c# - 如何遍历MethodSymbol的主体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12095168/