使用C#的XML注释cref属性和params语法

时间:2009-04-17 16:20:36

标签: c# xml-comments params-keyword

在C#中,我正在尝试使用< see cref =“blah”/>引用包含params关键字的方法签名。我知道这会将参数列表转换为数组,但我甚至无法弄清楚如何在CREF属性中引用数组。我在搜索中找不到任何内容,也不知道我知道的任何人。编译器在方括号上窒息。我已经尝试了各种不同的组合,使用花括号,使用Array类,但没有任何工作。有谁知道这个?

3 个答案:

答案 0 :(得分:36)

根据B.3.1 ID string format文章,使用[方括号](带有可选的lowerbound:size说明符)来引用数组,但是如果你只想引用某种类型的数组(甚至是一个Object数组),你不能只写

<see cref="Object[]"/>

相反,您需要指定使用T:前缀创建类型引用,例如

<see cref="T:Object[]"/>

在引用方法的特定重载(例如

)时似乎不适用

<seealso cref="String.Join(String, String[])"/>

答案 1 :(得分:11)

ECMA 334标准PDF,附件E包含对XML文档注释的合理概述。您可以在以下网址下载该标准:

http://www.ecma-international.org/publications/standards/Ecma-334.htm

具体来说,您需要从第496页开始的E.3.1节。

类似的内容也出现在MSDN上(虽然MSDN似乎在这个主题上导航很糟糕,但很难找到其他部分):

http://msdn.microsoft.com/en-us/library/aa664787(VS.71).aspx

相当于E.3.1:

http://msdn.microsoft.com/en-us/library/aa664807(VS.71).aspx

您可能还会发现Mono的文档非常有用:

http://www.go-mono.com/docs/index.aspx?tlink=29@man%3amdoc(5)

具体而言,“CREF FORMAT”部分涵盖了ID字符串约定。

更新2018/05/23

上面的ECMA-334标准PDF的URL链接到最新版本的标准。 2009年,这是该标准的第4版。但是,截至2017年12月,第5版是最新版,第4版第E.3.1节成为第5版D.4.2节。

以下版本的ECMA-334标准可从以下页面下载:https://www.ecma-international.org/publications/standards/Ecma-334-arch.htm

答案 2 :(得分:5)

您只需省略param关键字并输入如下类型:

/// <summary>
/// <see cref="Method(string[])"/>
/// </summary>
public static void Main()
{
    Method("String1", "String2");
}

public static void Method(params string[] values)
{
    foreach (string value in values)
    {
        Console.WriteLine(value);
    }
}
相关问题