在哪里可以找到 Roslyn 中不同符号种类下的符号类型?
Where can I find what symbol types are under different symbol kinds in Roslyn?
我正在尝试使用以下代码注册 SymbolAction:
context.RegisterSymbolAction(AnalyzeSymbol, SymbolKind.???);
我使用 Syntax Visualizer
:
找到了我想要匹配的确切节点
可以看到window说Kind
是Attribute
,但是SymbolKind
枚举does not offer这种
如您所见,我很困惑——我认为语法树准确地向我展示了符号操作所谈论的语法节点。但是现在我不太确定了。
如果我做的基本上是正确的,我想问:我在哪里可以了解我应该为给定的节点类型使用什么 SymbolKind
枚举值?
愚蠢的错误:解决方案是使用 RegisterSyntaxNodeAction
和 SyntaxKind
枚举,因为 SyntaxNode
是我想要访问的内容。
当我尝试从语义模型中获取符号时,问题 "What symbol it is?" 仍然存在,但现在我可以立即查找类型 window:它是 SourceConstructorSymbol
, so it's IMethodSymbol
。
我正在尝试使用以下代码注册 SymbolAction:
context.RegisterSymbolAction(AnalyzeSymbol, SymbolKind.???);
我使用 Syntax Visualizer
:
可以看到window说Kind
是Attribute
,但是SymbolKind
枚举does not offer这种
如您所见,我很困惑——我认为语法树准确地向我展示了符号操作所谈论的语法节点。但是现在我不太确定了。
如果我做的基本上是正确的,我想问:我在哪里可以了解我应该为给定的节点类型使用什么 SymbolKind
枚举值?
愚蠢的错误:解决方案是使用 RegisterSyntaxNodeAction
和 SyntaxKind
枚举,因为 SyntaxNode
是我想要访问的内容。
当我尝试从语义模型中获取符号时,问题 "What symbol it is?" 仍然存在,但现在我可以立即查找类型 window:它是 SourceConstructorSymbol
, so it's IMethodSymbol
。