我试图查看语法树,但是信息还不够,所以我创建了一个编译并获得了语法树的语义模型。现在,我可以使用OfType<T>
T
为PropertyDeclarationSyntax
或FieldDeclarationSyntax
的{{1}}扩展方法获取属性和字段声明。
在方法内部。Body.Statements
我以为我可以找到代表我从OfType<T>
获得的符号。但我很难搞清楚这一部分。语法树只是将符号标识为&#34; IdentifierName&#34;,这没什么用处..
如果这不是正确的查看方式,请告诉我。
答案 0 :(得分:5)
在SemanticModel.GetDeclaredSymbol()
或PropertyDecalartionSyntax
内的VariableDeclaratorSyntax
上使用FieldDefinitionSyntax
。然后在标识符上使用SemanticModel.GetSymbolInfo()
,看看它们是否匹配。 (请注意,您应该使用ISymbol.Equals
,因为您可能无法获得参考相同的结果。