在 C# 中,我尝试使用 <see cref="blah"/> 来引用包含 params 关键字的方法签名。我知道这会将参数列表转换为数组,但我什至无法弄清楚如何在 CREF 属性中引用数组。我在搜索中一无所获,我认识的人也没有任何想法。编译器在方括号上窒息。我尝试了各种不同的组合,使用花括号,使用 Array 类,但没有任何效果。有人知道吗?
3 回答
根据B.3.1 ID 字符串格式文章,引用数组是使用 [方括号] (带有可选lowerbound:size
说明符)完成的,但如果您只想引用某种类型的数组(甚至是 Object 数组),您可以不只是写
<see cref="Object[]"/>
相反,您需要指定您正在使用T:
前缀进行类型引用,例如
<see cref="T:Object[]"/>
在引用方法的特定重载时,这似乎并不适用,例如
<seealso cref="String.Join(String, String[])"/>
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
您只需省略 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);
}
}