public class MyClass {
    

    /// <summary>
    ///   My awesome class
    /// </summary>
    /// <param name="i_a">This is test of A</param>
    /// <param name="i_b">This is test of B</param>
    public MyClass(string i_a, string i_b){
      A = i_a;
      B = i_b;
    }

    /// <summary> This is test of A </summary>
    public string A {get;}

    /// <summary> This is test of B </summary>
    public string B {get;}

}

我想添加param个与属性相同的信息,当然,不要重复.我试过:

继承博士

创建实例时,它不会显示文档.

/// <param name="i_a"><inheritdoc cref="A" select="summary" /></param>
/// <param name="i_b"><inheritdoc cref="B" select="summary" /></param>

请参阅或同时参阅链接

它会创建指向该属性的链接,以便可以导航到该属性.但这不是我想要的.

/// <param name="i_a"><see cref="A"/></param>
/// <param name="i_b"><see cref="B"/></param>

我的目标

我想在类的构造过程中看到参数的文档,比如没有重复的代码注释.

var test = new MyClass() // start entering the parameters I want to see the documentation of each parameter.

有可能吗?

推荐答案

这是可能的.inheritdoc应该适用于任何地方.inheritdoc的解决方案中有两个问题:

  1. 属性select="summary"还 Select <;总结>;贴上标签.它会根据当前位置搜索这个标签.在您的情况下,它会搜索param/summary.请参阅https://www.helixoft.com/files/vsdocman/help/inheritdoc.html页的VSdocman号工具文档

所以正确的值应该是"/summary/node()".

  1. 我惊讶地发现inheritdoc标签现在使用path参数,而不是旧的select参数.似乎在某些上下文中,VS Intellisense支持这两个属性,而在某些上下文(包括param标记)中,只识别path.

所以你的 comments 应该是:

/// <summary>
///   My awesome class.
///   Just a proof that old 'select' attribute works here.
///   <inheritdoc cref="A" select="/summary/node()" />
/// </summary>
/// <param name="i_a"><inheritdoc cref="A" path="/summary/node()" /></param>
/// <param name="i_b"><inheritdoc cref="B" path="/summary/node()" /></param>
public MyClass(string i_a, string i_b)
{
    A = i_a;
    B = i_b;
}

Csharp相关问答推荐

我可以将Expressc操作设置为在另一个Expressc操作完成后自动发生吗?

我应该将新的httpReportMessage()包装在using声明中吗?

如何打印已添加到List的Linq值,而不是C#中的:System.Collections.Generic.List ' 1[System.Int32]?

自定义JsonEditor,用于将SON序列化为抽象类

ASP.NET Core -是否可以对所有最小API端点应用过滤器?

如何从顶部提取发票号作为单词发票后的第一个匹配

为什么在GuardationRule的收件箱函数中,decode.TryParse(valueString,out valueParsed)在给出1.0.1时返回true?

如何在NServicebus中配置学习传输的文件夹(NService bus 8)

迭代C#List并在数据库中 for each 元素执行SELECT语句—更有效的方式?

有没有办法在WPF文本框中添加复制事件的处理程序?

应用程序启动器,可 Select 物理屏幕

如何在C#中从正则表达式中匹配一些数字但排除一些常量(也是数字)

Rx.Net窗口内部可观测数据提前完成

在.NET MAUI.NET 8中如何防止按钮点击时出现灰色反馈

如何从SignalR获取连接客户端的域

Linq SELECT的多条指令

在ObservableCollection上使用[NotifyPropertyChangedFor()]源代码生成器不会更新UI

C#中COM对象的实际地址

外部应用&&的LINQ;左外部连接&类似于PostgreSQL的查询

实例化列表时的集合表达式是什么?