c# - 如何在 C# 父类/接口(interface)和子类之间同步 XML 注释

标签 c# .net visual-studio documentation xml-documentation

在 Java 中,如果我在父类或接口(interface)上有一个 Javadoc,那么当我将鼠标悬停在子类名称上时,Javadoc 会出现在大多数 IDE 的子类或接口(interface)的上下文中。但是,在带有 C# 的 XML 注释的 Visual Studio 中,这似乎并非如此。有什么方法可以自动同步父类和子类之间的 XML 注释,这样我就不必复制/粘贴它们并手动同步它们了吗?

最佳答案

如果您正在创建一个其他项目将使用的库,那么您可以使用 SandcaSTLe 帮助文件生成器 (SHFB) 的一个很好的选择 <inheritdoc> 标签。虽然 Visual Studio 本身不理解此标记,但 SHFB 提供了一个 IntelliSense Component读取项目生成的 XML 文档文件,并写出一个包含所有 <inheritdoc> 的新 XML 文档文件。由继承的文档替换的标签。这正是我们用于在 NuGet 上为 openstack.net SDK 发送 XML 文档的过程:

  1. Create XML documentation during the build.

    enter image description here

  2. Include the IntelliSense Component in our SHFB project.

    Configure IntelliSense Component

  3. 创建一个 .nuspec 文件(NuGet 包规范)explicitly references the XML documentation created by the IntelliSense Component而不是 C# 编译器创建的文档。

在 Visual Studio 中,能够查看基类的文档也是有益的。我用 Inheritance Margin扩展以从重写或实现方法跳转到对其进行完整记录的基类或接口(interface)。

关于c# - 如何在 C# 父类/接口(interface)和子类之间同步 XML 注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22558532/

相关文章:

.net - 对于具有自定义大小的枚举字段的结构,编码(marshal)失败

mysql - 使用 VS.Net 中的安装项目(安装程序)创建和恢复 mysql 数据库

c# DataGridView.DataSource = BindingList 不起作用

.net - 如何在.Net客户端接收时删除WebSphere MQ分组消息中的消息头信息

c# - 如何删除作为 HttpResponseMessage 的 StreamContent 发送的文件

c# - 比较对象的不同实现的优点/缺点

visual-studio - Visual Studio 2017 Enterprise 脱机安装失败

html - 为什么 Live Server 不从 Visual Studio 预览我的 CSS?

C#(对象数组)对象引用未设置为对象的实例

c# - 使用 StringBuilder 编写语句的更简单方法