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 回答