1

現在のカスタム位置とファイル (プロジェクトまたはソリューション内) の下にあるシンボルの定義のファイル名と位置を取得する方法は?

次の手順を実行します(簡単な説明)。

  1. 次の方法で、構文ツリーのコレクションとコンパイルを作成します。

    SyntaxTrees = new List<SyntaxTree>();
    foreach (var file in projectFiles)
        syntaxTrees.Add(SyntaxTree.ParseText(File.ReadAllText(file));
    Compilation = Compilation.Create("temp.cs", null, SyntaxTrees, new MetadataReference[] { mscorlib });
    
  2. 構文ツリーで現在のトークンを取得します。

    var token = currentTree.GetRoot().FindToken(textPos, false);
    

シンボルには、定義を取得するための適切なメソッドがあります: DeclaringSyntaxNodes. tokenで解決するにSymbolはどうすればよいSemanticModelですか? ありがとう。

4

1 に答える 1

6

SymbolFinder.FindSymbolAtPositionメソッドを探しています。

于 2014-12-02T22:43:43.837 に答える