Trennzeichen für Dokumentationstags (C#-Programmierhandbuch)Delimiters for Documentation Tags (C# Programming Guide)

Die Verwendung von XML-Dokumentkommentaren erfordert Trennzeichen, die dem Compiler angeben, wo ein Dokumentationskommentar beginnt und endet.The use of XML doc comments requires delimiters, which indicate to the compiler where a documentation comment begins and ends. Sie können die folgenden Arten von Trennzeichen mit den XML-Dokumentationstags verwenden:You can use the following kinds of delimiters with the XML documentation tags:

///
Einzeiliges TrennzeichenSingle-line delimiter. Dies ist die Form, die in den Dokumentationsbeispielen dargestellt und von den Visual C#-Projektvorlagen verwendet wird.This is the form that is shown in documentation examples and used by the Visual C# project templates. Wenn ein Leerzeichen hinter einem Trennzeichen steht, ist dieses Zeichen nicht in der XML-Ausgabe enthalten.If there is a white space character following the delimiter, that character is not included in the XML output.

Hinweis

Visual Studio-IDE bietet eine Funktion namens Smart Comment Editing, die automatisch die Tags <summary> und </summary > einfügt und Ihren Cursor innerhalb dieser Tags verschiebt, nachdem Sie das ///-Trennzeichen im Code-Editor eingeben.The Visual Studio IDE has a feature called Smart Comment Editing that automatically inserts the <summary> and </summary> tags and moves your cursor within these tags after you type the /// delimiter in the Code Editor. Greifen Sie auf Ihren Eigenschaftenseiten des Projekts über Formatierung, C#, Text-Editor, Dialogfeld „Optionen“ auf die Funktion zu.Access this feature from the Options, Text Editor, C#, Formatting in your project property pages.

/** */
Mehrzeilige Trennzeichen.Multiline delimiters.

Es gibt einige Formatierungsregeln zu beachten, wenn Sie die /** */-Trennzeichen verwenden.There are some formatting rules to follow when you use the /** */ delimiters.

  • In der Zeile mit dem /**-Trennzeichen, wenn der Rest der Zeile Leerraum ist, wird die Zeile für Kommentare nicht verarbeitet.On the line that contains the /** delimiter, if the remainder of the line is white space, the line is not processed for comments. Wenn das erste Zeichen nach dem /**-Trennzeichen ein Leerzeichen ist, wird dieses Leerzeichen ignoriert und der Rest der Zeile verarbeitet.If the first character after the /** delimiter is white space, that white space character is ignored and the rest of the line is processed. Andernfalls wird de gesamte Text der Zeile nach dem /**-Trennzeichen als Teil des Kommentars verarbeitet.Otherwise, the entire text of the line after the /** delimiter is processed as part of the comment.

  • In der Zeile mit dem */-Trennzeichen, wenn sie nur aus Leerzeichen bis zum */-Trennzeichen besteht, wird diese Zeile ignoriert.On the line that contains the */ delimiter, if there is only white space up to the */ delimiter, that line is ignored. Andernfalls wird der Text in der Zeile bis zum */-Trennzeichen als Teil des Kommentars verarbeitet, gemäß den Mustervergleichsregeln, die im folgenden Aufzählungszeichen beschriebenen werden.Otherwise, the text on the line up to the */ delimiter is processed as part of the comment, subject to the pattern-matching rules described in the following bullet.

  • Für die Zeilen nach der, die mit dem /**-Trennzeichen beginnt, sucht der Compiler ein gemeinsames Muster am Anfang jeder Zeile.For the lines after the one that begins with the /** delimiter, the compiler looks for a common pattern at the beginning of each line. Das Muster kann aus optionalen Leerzeichen und einem Sternchen bestehen (*), gefolgt von weiteren optionalen Leerzeichen.The pattern can consist of optional white space and an asterisk (*), followed by more optional white space. Wenn der Compiler am Anfang jeder Zeile ein gemeinsames Muster findet, die nicht mit dem /**- oder */-Trennzeichen beginnt, ignoriert er dieses Muster für jede Zeile.If the compiler finds a common pattern at the beginning of each line that does not begin with the /** delimiter or the */ delimiter, it ignores that pattern for each line.

In den folgenden Beispielen werden diese Regeln veranschaulicht.The following examples illustrate these rules.

  • Der einzige Teil des folgenden Kommentars, der verarbeitet wird, ist die Zeile, die mit <summary> beginnt.The only part of the following comment that will be processed is the line that begins with <summary>. Die drei Tag-Formate ergeben identische Kommentare.The three tag formats produce the same comments.

    /** <summary>text</summary> */   
    
    /**   
    <summary>text</summary>   
    */   
    
    /**   
     * <summary>text</summary>   
    */  
    
  • Der Compiler identifiziert ein gemeinsames Muster von „*“ am Anfang der zweiten und dritten Zeile.The compiler identifies a common pattern of " * " at the beginning of the second and third lines. Das Muster ist nicht in der Ausgabe enthalten.The pattern is not included in the output.

    /**   
     * <summary>   
     * text </summary>*/   
    
  • Der Compiler findet kein gemeinsames Muster im folgenden Kommentar, da das zweite Zeichen in der dritten Zeile kein Sternchen ist.The compiler finds no common pattern in the following comment because the second character on the third line is not an asterisk. Daher wird der gesamte Text in der zweiten und dritten Zeile als Teil des Kommentars verarbeitet.Therefore, all text on the second and third lines is processed as part of the comment.

    /**   
     * <summary>   
       text </summary>  
    */   
    
  • Der Compiler findet aus zwei Gründen kein Muster im folgenden Kommentar.The compiler finds no pattern in the following comment for two reasons. Erstens ist die Anzahl von Leerzeichen vor dem Sternchen nicht konsistent.First, the number of spaces before the asterisk is not consistent. Zweitens beginnt die fünfte Zeile mit einem Tab, der mit Leerzeichen nicht übereinstimmt.Second, the fifth line begins with a tab, which does not match spaces. Daher wird aller Text von Zeile zwei bis fünf als Teil des Kommentars verarbeitet.Therefore, all text from lines two through five is processed as part of the comment.

    /**   
      * <summary>   
      * text   
     *  text2   
        *  </summary>   
    */   
    

Siehe auchSee Also

C#-ProgrammierhandbuchC# Programming Guide
XML-DokumentationskommentareXML Documentation Comments
/ doc (C#-Compileroptionen)/doc (C# Compiler Options)
XML-DokumentationskommentareXML Documentation Comments