如何获取同一类方法访问的字段和属性?

jav*_*ity 3 roslyn

我试着查看语法树,但是信息还不够,所以我创建了一个编译并获得了语法树的语义模型.现在我可以使用OfType<T>扩展方法获取属性和字段声明,其中TPropertyDeclarationSyntaxFieldDeclarationSyntax.

在一个方法里面.Body.Statements我以为我可以找到代表我得到的符号的符号OfType<T>.但我很难搞清楚这一部分.语法树只是将符号标识为"IdentifierName",这没什么用处.

如果这不是正确的查看方式,请告诉我.

Kev*_*lch 5

使用SemanticModel.GetDeclaredSymbol()在内部PropertyDecalartionSyntax或其中一个.然后使用标识符并查看它们是否匹配.(请注意,您应该使用,因为您可能无法获得参考相同的结果.VariableDeclaratorSyntaxFieldDefinitionSyntaxSemanticModel.GetSymbolInfo()ISymbol.Equals