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

<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 derrived 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)
    {
    }
}

推荐答案

Inheritdoc works great but only If you want to take everything from parent and nothing from yourself.

不是真的,可以使用<inheritdoc>标记从基类中获取所需的内容.通过XPath表达式表示特定 node 的所有内容或值,如所示:

Is it possible to inherit documentation from specific parameters?

在您的情况下,您应该有如下内容:

public class A
{
    /// <summary>
    /// Some description
    /// </summary>
    /// <param name="param">I want to inherit this summary in a derrived 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)
    {
    }
}

哪里:

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

Csharp相关问答推荐

我可以 suppress 规则CS 9035一次吗?

TDLib与机器人共享电话号码

实体框架核心上是否支持使用NPGSQL的字符串聚合?

Azure Redis缓存与Entra ID身份验证

内部接口和类的DI解析

如何通过属性初始化器强制初始化继承记录内的属性?

未找到任何HTTP触发器.成功部署Azure Functions Project后(c#)

Automapper 12.x将GUID映射到字符串

集合表达式没有目标类型

从VS调试器而不是测试资源管理器运行的调试NUnitDotNet测试

当使用Dapper映射DBNull时,我可以抛出异常吗?

如何防止Visual Studio断点以红色突出显示到整行?

MSTest--将消息直接写入StdOut和使用TestContext有什么不同?

HttpClient SendAsync与多线程环境中的ArchiveZip

在PostgreSQL上使用ExecuteSqlRawAsync的C#11原始字符串文字有区分大小写的问题

如何从另一个类的列表中按ID取值

Xamarin.Forms中具有类似AspectFill的图像zoom 的水平滚动视图

将两个for循环更改为一条LINQ语句

游戏对象走向不同的方向

根据运行时值获取泛型类型的字典