【问题标题】:How to read XML documentation comments using Roslyn / Code Analysis如何使用 Roslyn / 代码分析阅读 XML 文档注释
【发布时间】:2016-05-11 08:13:38
【问题描述】:

我想使用 Roslyn 从我的 C# 代码中检索元素(如类、属性)的 XML 文档。但是,我找到的唯一相关方法是 GetDocumentationCommentXml,它只给了我整个 XML,而不是解析的元素。

another SO post 有人问了同样的问题并得到了答案。但是这个问题已经存在 3 年了,并且 API 发生了变化:建议的 GetDocumentationComment 方法不再存在。

【问题讨论】:

  • 您应该检查 StyleCopAnalyzers 的源代码。他们广泛使用 Roslyn 来分析 XML cmets。这里:source code on GitHub.
  • 他们似乎自己手动解析XML,这看起来很奇怪。 Roslyn 的重点不是您可以利用与编译器和 Visual Studio 相同的解析和工具吗?
  • 在 GitHub 上提交功能请求以公开 source.roslyn.io/#Microsoft.CodeAnalysis.Workspaces/Shared/…
  • 我在去年的实习中做了一些非常相似的事情,我不得不手动解析 cmets 以找到 cmets 中常见的语法错误。如果我没记错的话,它现在不是 Roslyn 中可用的功能。

标签: c# roslyn roslyn-code-analysis


【解决方案1】:

您可能正在寻找的方法是ISymbol.GetDocumentationCommentXml。这会返回一个 .xml doc 格式的注释,这与代码中的原始 cmets 略有不同。

不幸的是,GetDocumenationComment 现在是一个内部类的一部分,它本身使用DocumentationComment.FromXmlFragment 将 XML 转换回代码注释,即它在原始源代码中的样子。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多