有没有办法在 C# 块注释中引用 const 参数?

Is there a way to reference const parameters in C# block comments?

在 c# 块注释中,我想说特定参数的默认值是 class const 属性。有没有办法直接引用该参数?

我想在生成的文档中显示值,或者以某种结构化的方式 link 到 属性。

这是我正在尝试做的一个例子:

public class Foo
{
    private const int DefaultBar = 20;

    ///<summary>
    ///Does the thing.
    ///</summary>
    ///<param name="bar">Description of bar. Defaults to [[DefaultBar]]</param>
    public int DoTheThing(int bar = DefaultBar)
    {
        return bar;
    }
}

其中 [[DefaultBar]] 以上是引用 DefaultBar 属性.

所需的任何语法

因为它是一个常量,所以我觉得应该有一种方法可以在生成的文档中引用它,而无需手动保持它们同步。 (我不想只用 20 替换 [[DefaultBar]] 以防我想稍后将 20 更改为其他一些 int)

我查看了 C# "Constant Objects" to use as default parameters,但该问题(和相关答案)没有提供文档。

IntelliSense 会自动为您跟踪。像您已经做的那样在注释中保留变量名可能是个好习惯,但是当键入对该方法的引用时,它将显示如下:

因此,无论何时更改 DefaultBar 的值,IntelliSense 都会自行提取更新后的值并将其放入工具提示中。

您可以像引用任何其他代码成员一样使用 注释标记引用常量。在你的情况下它将是:

public class Foo
{
    private const int DefaultBar = 20;

    ///<summary>
    ///Does the thing.
    ///</summary>
    ///<param name="bar">Description of bar. Defaults to <see cref="DefaultBar"/>.</param>
    public int DoTheThing(int bar = DefaultBar)
    {
        return bar;

    }
}

当您根据这些评论生成文档时,您将获得一个 link 常量页面。例如,使用 VSdocman(我们的产品)生成的输出将如下所示: