为什么Roslyn团队将DocumentationComment标记为内部

时间:2014-04-20 21:43:01

标签: .net roslyn

我们正试图从Roslyn的CTP迁移到最新的Roslyn版本。但似乎他们更新了DocumentationProvider逻辑。在CTP中,它使用了此提供程序返回的DocumentationComment类。此类为这些属性的xml解析提供了有用的逻辑

public string FullXmlFragmentOpt { get; private set; }

public string ExampleTextOpt { get; private set; }

public string SummaryTextOpt { get; private set; }

public string ReturnsTextOpt { get; private set; }

在新版本的Roslyn DocumentationComment中,使用新属性改进了类,但不知何故,它被标记为internal。现在DocumentationProvider只返回带有XML内容的完整字符串。由于DocumentationComment是一个内部类 - 我们无法使用它。

Roslyn团队有没有理由这样做?或者他们可能会在下一个版本中将其退回?

1 个答案:

答案 0 :(得分:4)

DocumentationComment类被移出编译器层并被内部化,因为它被确定为不足以描述文档注释中的所有细节,因为它包含其他片段,如see和cref,并且实际上可以包含任何其他你希望的xml标签。作为公共API的一部分有意义的唯一结构是一个xml字符串,您可以使用xml读取器或DOM来分开它。就像现在一样,DocumentationComment类是单个Roslyn特性的实现细节。

由于它是开源的,因此您可以通过复制代码来使用它。实际的内部类可能会发生变化,甚至可以删除