2

グローバル名前空間から、すべての名前空間を反復処理できます。

foreach (NamespaceSymbol @namespace in globalNamespace.GetNamespaceMembers())

各名前空間から、それらのクラスを反復処理できます。

foreach (NamedTypeSymbol @class in @namespace.GetTypeMembers())

クラスとメソッドまたはフィールドでも同じことが起こります。

foreach (Symbol member in @class.GetMembers())

それでも、メソッドのステートメントを反復処理する方法が見つかりませんでした。セマンティックツリーをたどり続けるにはどうすればよいですか?

4

1 に答える 1

3

シンボルの宣言に使用された SyntaxNode を見つける必要があります: CompilationUnit 内のメソッド Symbol の SyntaxNode を見つける方法は?

次に、SyntaxNode (例: MethodDeclarationSyntax) を取得したら、たとえば DescendantNodes() または ChildNodesAndTokens を使用してそれをウォークできます。

于 2012-08-23T22:32:50.630 に答える