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

时间:2016-06-27 18:10:33

标签: c# documentation code-documentation

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

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

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

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属性所需的任何语法。

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

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

2 个答案:

答案 0 :(得分:3)

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

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;

    }
}

当您从这些评论生成文档时,您将获得常量页面的链接。例如,使用VSdocman(我们的产品)生成的输出将如下所示: enter image description here

答案 1 :(得分:2)

IntelliSense会自动跟踪您的情况。将变量名称保留在注释中可能是一种很好的做法,但是在键入对该方法的引用时,它将显示如下:

IntelliSense Example

因此,每当您更改DefaultBar的值时,IntelliSense都会自行提取更新的值并将其放在工具提示中。