現在のカスタム位置とファイル (プロジェクトまたはソリューション内) の下にあるシンボルの定義のファイル名と位置を取得する方法は?
次の手順を実行します(簡単な説明)。
次の方法で、構文ツリーのコレクションとコンパイルを作成します。
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 });
構文ツリーで現在のトークンを取得します。
var token = currentTree.GetRoot().FindToken(textPos, false);
シンボルには、定義を取得するための適切なメソッドがあります: DeclaringSyntaxNodes
. token
で解決するにSymbol
はどうすればよいSemanticModel
ですか? ありがとう。