假设我有一个如下所示的源文件:
public class FieldReference
{
int field;
public FieldReference()
{
field = 1;
}
}
我正在使用 SyntaxRewriter 访问此文件中的所有标识符。在 VisitIdentifierName 方法中,我想在语义模型中查找标识符,以发现标识符是否引用当前类的成员。
这是我到目前为止所拥有的:
public override SyntaxNode VisitIdentifierName(IdentifierNameSyntax node)
{
SemanticModel model = this.compilation.GetSemanticModel(this.src);
// ?? look up identifier in compilation here ??
return base.VisitIdentifierName(node);
}
但是我找不到在语义模型中查找标识符 - 没有接受 IdentifierNameSyntax 的 SemanticModel.GetDeclaredSymbol 方法的重载。
知道我应该怎么做吗?