从 C # 接口继承 XML 注释

我想知道是否有人知道如何将接口 xml 注释链接到实现。问题是,我希望基础注释首先来自我的界面。例如:

interface myinterface {


/// <summary>
/// Does something.
/// </summary>
void method1(string foo);


}

然后执行是:

public class myclass : myinterface {




public void method1(string foo) {
//do something...
}
}

所以现在如果我在实例化对象之后用鼠标悬停在方法上:

myclass foo = new myclass();
foo.method1("do something");

我怎样才能让评论出现在悬停弹出窗口中?有没有什么方法可以将接口注释链接到实现?我知道 Java 中有一种方法,但是找不到 C # 的解决方案。

谢谢

13765 次浏览

更新答案:

使用 <inheritdoc />-标签

老答案:
综上所述,链接 XML 注释是不可能的,但是您可以使用像 GhostDoc这样的工具将 XML 注释从 Interface/Basecclass 复制到实现/派生类。

如果您使用 GhostDoc,它可以帮助您将文档从接口“传输”到实现代码。

Http://blog.x-tensive.com/2008/02/fixml.html

它是一个后处理程序,在缺乏原始文档系统的地方有一些附加选项。

网址:

摘要:

FiXml 是 C # VisualBasic 生成的 XML 文档的后处理器。网。它解决了一些与用这些语言编写 XML 文档有关的最恼人的情况: - 不支持从基类或接口继承文档。也就是说,对于任何被覆盖的成员,文档都应该从头开始编写,尽管通常情况下,至少应该继承其中的一部分。 不支持插入常用的文档模板,比如“ This type is singleton-use its property to get the only instance of it.”甚至“初始化类的新实例”

XMLDoc 定义了一个标记 <include />,用于包含来自 VisualStudio2003以来的另一个文件的注释。最大的警告是所引用的文件应该是一个只包含 XMLDoc 文档的文件,而不是另一个源文件。

有关详细信息,请参阅 MSDN 页面

我构建了一个命令行工具,用于对 XML 文档文件进行后处理,并添加对 < Heritage itdoc/> 标记的支持。

虽然它对源代码中的智能感知没有帮助,但是它允许修改后的 XML 文档文件包含在 NuGet 包中,因此可以在引用的 NuGet 包中使用智能感知。

请参阅 Www.inheritdoc.io了解更多信息(免费版本可用)。

看起来 <inheritdoc/>将很快得到本地支持。

参见 https://github.com/dotnet/csharplang/issues/313