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

时间:2014-10-22 03:50:19

标签: roslyn

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

在方法内部。Body.Statements我以为我可以找到代表我从OfType<T>获得的符号。但我很难搞清楚这一部分。语法树只是将符号标识为&#34; IdentifierName&#34;,这没什么用处..

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

1 个答案:

答案 0 :(得分:5)

SemanticModel.GetDeclaredSymbol()PropertyDecalartionSyntax内的VariableDeclaratorSyntax上使用FieldDefinitionSyntax。然后在标识符上使用SemanticModel.GetSymbolInfo(),看看它们是否匹配。 (请注意,您应该使用ISymbol.Equals,因为您可能无法获得参考相同的结果。