我有
var sourceText = SourceText.From(filestream);
var firstLine = sourceText.Lines.FirstOrDefault();
它给我第一行源作为TextLine。我需要将注释解析为字符串,但我想使用Roslyn。如何使用Roslyn从TextLine中提取单行注释?
您需要将文本解析为语法树,然后搜索所需类型的琐事。你有几种语法类型,包括SingleLineCommentTrivia, MultiLineCommentTrivia, ...
:
var tree = CSharpSyntaxTree.ParseText(sourceText, path: filename);
var root = tree.GetCompilationUnitRoot();
var comment = root.DescendantTrivia()
.OfType<SyntaxTrivia>()
.FirstOrDefault(s=> s.IsKind(SyntaxKind.SingleLineCommentTrivia)) // Here you decide what you want to filter on
.ToFullString();