5
宣言が見つかったソースファイルの行番号はどのようにして見つけることができますか?VisitClass宣言ノード。Roslynの識別子。
宣言が見つかったソースファイルの行番号はどのようにして見つけることができますか?VisitClass宣言ノード。Roslynの識別子。
免責事項:私はMicrosoftの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
。
私はそれが長いテールのプロジェクトだと知っていますが、オンラインのドキュメントへのリンクはありますか? – casperOne
MSDN形式のドキュメントはまだありません。我々は現時点で持っている最も近い私がStartLinePositionが表示されない、ここで 'パブリッククラスMyVisitor http://msdn.com/roslyn –
で様々な文書まで、次のとおりです。SyntaxRewriter { 保護オーバーライドSyntaxNode VisitClassDeclaration(ClassDeclarationSyntaxノード) { Console.WriteLine(node.Identifier.ValueText); return null; } } ' –