文档注释(子类)

本文关键字:子类 注释 文档 | 更新日期: 2023-09-27 18:16:04

是否有一个标准的方法来更新文档注释以反映子类的名称而不是基类的名称?另外,如果一种方法确实存在,这是我应该练习还是避免的?

的例子:

class BaseClass
{
    /// <summary>
    /// Gets or sets a value associated with the name of the BaseClass
    /// </summary>
    protected string Name { get; set; }
}
class SubClass : BaseClass
{
    /// Gets or sets a value associated with the name of the Subclass <-- updated
    /// protected string Name { get; set; } <-- defined on BaseClass
}

文档注释(子类)

No。文档只适用于实现的代码——如果你的类从它的基类继承了一个方法,那么文档也被继承了。如果不提供新的实现,就不能"重写"文档。(这是有意义的-如果实现没有改变,那么文档也不需要改变。)

如果您以外部形式或智能方式浏览文档,则基类中的文档将根据需要显示,因此不需要为了查看适当的文档而重新定义它们。

如果您使用Sandcastle帮助文件生成器,您可以通过使用<inheritdoc/>标记实现一定程度的描述重用。例如,您可以在基类上设置摘要,然后在派生类上使用<inheritdoc/>来获取相同的内容。然而,我不认为有一种方法可以动态地改变这一点(例如替换类名)–你要么继承整个摘要文本,要么不继承。