6

宣言が見つかったソースファイルの行番号を確認するにはどうすればよいですか?

4

1 に答える 1

7

免責事項:私はマイクロソフトのRoslynチームで働いています。

このISyntaxTree.GetLineSpan()メソッドを使用して、行番号に変換できます。たとえば、ISymbol「シンボル」が与えられた場合、最初の定義の開始位置を次のように取得できます。

var loc = symbol.Locations.First();
var lineSpan = loc.SourceTree.GetLineSpan(loc.SourceSpan, 
    usePreprocessorDirectives: false);
var line = lineSpan.StartLinePosition.Line;
var character = lineSpan.StartLinePosition.Character;

タイトルからは、で始まっているように見えるので、プロパティを直接SyntaxNode使用できます。Span

于 2011-10-26T20:02:48.170 に答える