文档标记的分隔符(C# 编程指南)

使用 XML doc 注释需要分隔符,分隔符为编译器指示文档注释的起止位置。XML 文档标记可以与以下几种分隔符一起使用:

///

单行分隔符。这是显示在文档示例中并由 Visual C# 项目模板使用的形式。如果有后接分隔符的空白字符,则此字符将不包括在 XML 输出中。

注意
Visual Studio IDE 具有一项称为“智能注释编辑”的功能,它自动插入 <summary> 和 </summary> 标记,并且当您在代码编辑器中键入 /// 分隔符后将光标移动到这些标记内。从项目属性页的 选项、文本编辑器、C#、格式设置 可以访问此功能。

/* /

多行分隔符。

以下是使用 /* / 分隔符时要遵循的一些格式设置规则:

  • 对于包含 / 分隔符的行,如果该行的其余部分为空白,则不将该行处理为注释。如果 / 分隔符后面的第一个字符为空白,则忽略此空白字符并处理该行的剩余部分。否则,将 /** 分隔符后的整行文本处理为注释的一部分。

  • 对于包含 / 分隔符的行,如果到 / 分隔符为止仅有空白,则忽略该行。否则,将到 */ 分隔符为止的那行文本处理为注释的一部分,同时必须遵循以下描述的模式匹配规则。

  • 对于以 / 分隔符开头的行后面的那些行,编译器会在每个行的开头寻找一个常用模式。该模式可以包含可选的空白和一个星号 (*),后跟多个可选的空白。如果编译器在每行的开头找到不以 / 分隔符或 */ 分隔符开头的常见模式,则它将忽略每行的该模式。

下面的示例阐释了这些规则。

  • 以下注释中将被处理的唯一部分是以 <summary> 开头的行。这三个标记格式产生相同的注释。

    /** &lt;summary&gt;text&lt;/summary&gt; */ 
    
    /** 
    &lt;summary&gt;text&lt;/summary&gt; 
    */ 
    
    /** 
     * &lt;summary&gt;text&lt;/summary&gt; 
    */
    
  • 编译器在第二行和第三行的开头标识“*”的常见模式。该模式不包括在输出中。

    /** 
     * &lt;summary&gt; 
     * text &lt;/summary&gt;*/
    
  • 编译器在以下注释中找不到任何常见模式,因为第三行的第二个字符没有星号。因此,第二行和第三行中的所有文本都将被处理为注释的一部分。

    /** 
     * &lt;summary&gt; 
       text &lt;/summary&gt;
    */
    
  • 编译器之所以在此注释中没找到任何模式有以下两个原因。首先,星号前的空格数并不一致。其次,第五行是以 Tab 开头的,它并不等效于空格。因此,从第二行到第五行的所有文本都将被处理为注释的一部分。

    /** 
      * &lt;summary&gt; 
      * text 
     *  text2 
        *  &lt;/summary&gt; 
    */
    

请参阅

C# 编程指南

XML 文档注释(C# 编程指南)

/doc (C# Compiler Options)

XML 文档注释(C# 编程指南)