2011-10-26 26 views

cevap

5

Yasal Uyarı: Roslyn ekibinde Microsoft için çalışıyorum.

Satır numarasına dönüştürmek için ISyntaxTree.GetLineSpan() yöntemini kullanabilirsiniz. Örneğin, bir ISymbol "sembolü" göz önüne alındığında, sen ilk tanımının başlangıç ​​yeri alabilirsiniz: Bir SyntaxNode ile başlıyoruz gibi sadece kullanabilmesi Başlıktan

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

, o görünüyor Span mülk doğrudan.

+0

Uzun kuyruk projesi olduğunu biliyorum, ancak çevrimiçi belgelere bir bağlantı var mı? – casperOne

+0

Henüz belge biçiminde belge yok. Şu anda elimizdeki en yakın ben StartLinePosition görmüyorum burada 'public class MyVisitor http://msdn.com/roslyn –

+0

çeşitli belgeler yukarı şunlardır: SyntaxRewriter { protected override SyntaxNode VisitClassDeclaration (ClassDeclarationSyntax düğümü { Console.WriteLine (node.Identifier.ValueText); dönüş null; } } –

İlgili konular