5
Tôi làm cách nào để tìm số dòng trong tệp nguồn khai báo được tìm thấy?VisitClassDeclaration node.Identifier in Roslyn
Tôi làm cách nào để tìm số dòng trong tệp nguồn khai báo được tìm thấy?VisitClassDeclaration node.Identifier in Roslyn
Tuyên bố từ chối trách nhiệm: Tôi làm việc cho Microsoft trong nhóm Roslyn.
Bạn có thể sử dụng phương thức ISyntaxTree.GetLineSpan()
để chuyển đổi thành số dòng. Ví dụ, đưa ra một "biểu tượng" ISymbol
, bạn có thể có được vị trí bắt đầu của định nghĩa đầu tiên với:
var loc = symbol.Locations.First();
var lineSpan = loc.SourceTree.GetLineSpan(loc.SourceSpan,
usePreprocessorDirectives: false);
var line = lineSpan.StartLinePosition.Line;
var character = lineSpan.StartLinePosition.Character;
Từ tiêu đề, có vẻ như bạn đang bắt đầu với một SyntaxNode
, vì vậy bạn chỉ có thể sử dụng Span
tài sản trực tiếp.
Tôi biết đó là một dự án đuôi dài, nhưng có liên kết đến tài liệu trực tuyến không? – casperOne
Chúng tôi chưa có tài liệu ở định dạng MSDN. Gần nhất chúng tôi có vào lúc này là những tài liệu khác nhau tại http://msdn.com/roslyn –
Tôi không thấy StartLinePosition đây 'public class MyVisitor: SyntaxRewriter { override bảo vệ SyntaxNode VisitClassDeclaration (ClassDeclarationSyntax nút) { Console.WriteLine (node.Identifier.ValueText); trả về null; } } ' –