代码之家  ›  专栏  ›  技术社区  ›  Matt H

使用带有参数语法的c的xml comment cref属性

  •  15
  • Matt H  · 技术社区  · 15 年前

    在C中,我试图使用<see cref=“blah”/>引用包含params关键字的方法签名。我知道这会将参数列表转换为数组,但我甚至无法理解如何在cref属性中引用数组。我在搜索中找不到任何东西,我认识的人也不知道。编译器被方括号卡住了。我尝试过各种不同的组合,使用大括号,使用数组类,但是没有任何效果。有人知道吗?

    3 回复  |  直到 6 年前
        1
  •  10
  •   Ryan Prechel    6 年前

    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格式”部分包含ID字符串约定。

    更新2018/05/23

    上述ECMA-334标准PDF的URL链接到该标准的最新版本。2009年,这是该标准的第四版。然而,截至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
  •  35
  •   Olivier Dagenais Steve Ardis    15 年前

    根据 B.3.1 ID string format 文章,引用数组是用[方括号]完成的(可选) lowerbound:size 说明符),但是如果只想引用某个类型的数组(甚至对象数组),就不能只写

    <see cref="Object[]"/>

    相反,您需要指定正在使用 T: 前缀,像

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

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

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

        3
  •  5
  •   wonea Ilya Smagin    6 年前

    您只需去掉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);
        }
    }
    
    推荐文章