16

在 C# 中,我尝试使用 <see cref="blah"/> 来引用包含 params 关键字的方法签名。我知道这会将参数列表转换为数组,但我什至无法弄清楚如何在 CREF 属性中引用数组。我在搜索中一无所获,我认识的人也没有任何想法。编译器在方括号上窒息。我尝试了各种不同的组合,使用花括号,使用 Array 类,但没有任何效果。有人知道吗?

4

3 回答 3

39

根据B.3.1 ID 字符串格式文章,引用数组是使用 [方括号] (带有可选lowerbound:size说明符)完成的,但如果您只想引用某种类型的数组(甚至是 Object 数组),您可以不只是写

<see cref="Object[]"/>

相反,您需要指定您正在使用T:前缀进行类型引用,例如

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

在引用方法的特定重载时,这似乎并不适用,例如

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

于 2009-05-06T01:35:04.413 回答
12

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

于 2009-04-17T19:09:32.460 回答
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);
    }
}
于 2009-04-17T16:35:48.803 回答