在派生类中继承基构造函数参数 <summary> C#

use*_*057 5 .net c# documentation

我想知道何时可以引用/继承基本构造函数参数的描述。根据我的研究,我能够弄清楚如何引用属性的描述,但到目前为止似乎不可能引用构造函数参数(签名匹配是主要问题)。

<param name="number"><inheritdoc cref="Number" path="/summary"/></param>

    


    public class A
{
    /// <summary>
    /// Some description
    /// </summary>
    /// <param name="param">I want to inherit this summary in a derived class.</param>
    public A(string param)
    {

    }
}

public class B : A
{
    /// <summary>
    /// Some decription
    /// </summary>
    /// <param name="param">I would like inherit description from the base class. </param>
    /// <param name="newParam">Some new description.</param>
    public B(string param, int newParam) : base(param)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

dr.*_*ull 3

Inheritdoc 效果很好,但前提是你想从父母那里获取一切,而不从自己那里获取任何东西。

并非如此,您可以使用<inheritdoc>标签从基类中获取您需要的内容。一切或特定节点的值通过XPath表达式如下所示:

是否可以从特定参数继承文档?

在你的情况下,你应该有类似的东西:

public class A
{
    /// <summary>
    /// Some description
    /// </summary>
    /// <param name="param">I want to inherit this summary in a derived class.</param>
    public A(string param)
    {

    }
}

public class B : A
{
    /// <summary>
    /// Some decription
    /// </summary>
    /// <param name="param"><inheritdoc cref="A(string)" path="/param[@name='param']"/></param>
    /// <param name="newParam">Some new description.</param>
    public B(string param, int newParam) : base(param)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

在哪里:

  • cref="A(string)"指定基类ctor。
  • path="/param[@name='param']"指定所需的参数。