NDoc Documentation

Tags supported by NDoc

The MSDN documenter that ships with NDoc supports all the xml documentation tags defined in the C# Programmer's Reference. It also supports new tags and extended syntax for some standard tags as described below.

Section Tags

Section tags are used to define the content of the different sections of the documentation of a type or member.

These tags are used as top-level tags.

Tag Description

<event>

Use this tag to declare events that are raised by a member. Syntax:

///<event cref="EventName">
///    Raised when something occurs.
///</event>

<example>

Example section. See Microsoft's definition.

If the example contains one or more <code> blocks, it must be placed in an include file to avoid indentation problems.

<exception>

Declares an exception that a member might throw. See Microsoft's definition.

<include>

References an xml node in an include file that contains one or more documentation section tags. See Microsoft's definition.

<overloads>

This new tag allows providing documentation that applies to all the overloads of a member. It only needs to be specified on the first overload.

The <overloads> tag can have two forms:

  • In the short form, it includes only one or more text blocks that are treated as the summary.
  • In the long form, it can include one or more applicable section tags (summary, remarks and example).

Example:


///<overloads>This method has two overloads.</overloads>
///<summary>This overload just says hello.</summary>
public void SayHello() { ... }
///<summary>This one says hello to someone.</summary>
public void SayHello(string toSomeone) { ... }

<param>

Defines a member parameter. See Microsoft's definition.

<permission>

Define access permissions. See Microsoft's definition.

<remarks>

Remarks section. See Microsoft's definition.

<returns>

Defines a member's return value. See Microsoft's definition.

<seealso>

Adds a link to the See Also section. See Microsoft's definition.

Do not include this tag in the <remarks> section.

Alternate syntax:

  • <seealso href="url">[label]</seealso>
  • <seealso cref="member">[label]</seealso>

<summary>

The summary section. See Microsoft's definition.

<value>

Defines a property value. See Microsoft's definition.

Block Tags

Block tags are typically used inside <remarks> and <example> sections to add structure to the text.

Tag Description

<code>

Code block. See Microsoft's definition.

Sections containing one or more <code> blocks must be placed in an include file to avoid indentation problems.

<list>

A definition list or table. See Microsoft's definition.

<para>

Delimits a text paragraph. See Microsoft's definition.

Inline Tags

Inline tags are typically used inside <para> blocks.

Tag Description

<c>

Marks inline code. See Microsoft's definition.

<paramref>

A reference to a parameter. See Microsoft's definition.

<see>

Inline reference to another member or type. See Microsoft's definition.

Alternate syntax:

  • <see href="url">[label]</see>
  • <see cref="member">[label]</see>