8
が、私はこのようになりますソースファイルを持っていると仮定すると検索。 VisitIdentifierNameメソッドでは、識別子が現在のクラスのメンバーを参照しているかどうかを調べるために、セマンティックモデルで識別子をルックアップします。セマンティックモデル内の識別子
これは私がこれまで持っているものです。
public override SyntaxNode VisitIdentifierName(IdentifierNameSyntax node)
{
SemanticModel model = this.compilation.GetSemanticModel(this.src);
// ?? look up identifier in compilation here ??
return base.VisitIdentifierName(node);
}
私はsymanticモデルに識別子をルックアップするために離れて見つけることができませんが - IdentifierNameSyntaxを受け入れるSemanticModel.GetDeclaredSymbol方式の過負荷はありません。
どうすればいいですか?
ありがとうKevin、どう見落としているのかわかりません。私にとってはまったく新しいものがありますね! – Grokys
ええと、これはRoslynの現在のプレビュー版では壊れているようです。サンプルプロジェクト=> ConvertToAutoPropertyCS => PropertyRewriterの内部=> VisitFieldDeclaration(FieldDeclarationSyntaxフィールド)フィールドパラメータのシンボルを取得する方法はありません。 – mynkow
フィールド宣言で複数のシンボルを宣言できるため、実際にはVariableDeclaratorSyntaxを使用する必要があります。 –