TypeName

DestructorSummaryDocumentationMustBeginWithStandardText

CheckId

SA1643

Category

Documentation Rules

Cause

The Xml documentation header for a C# finalizer does not contain the appropriate summary text.

Rule Description

C# syntax provides a mechanism for inserting documentation for classes and elements directly into the code, through the use of Xml documentation headers. For an introduction to these headers and a description of the header syntax, see the following article: http://msdn.microsoft.com/en-us/magazine/cc302121.aspx.

A violation of this rule occurs when the summary tag within the documentation header for a finalizer does not begin with the proper text.

The rule is intended to standardize the summary text for a finalizer. The summary for a finalizer must begin with “Finalizes an instance of the {class name} class.” For example, the following shows the finalizer for the Customer class.

    /// <summary>

    /// Finalizes an instance of the Customer class.

    /// </summary>

    ~Customer()

    {

    }

It is possible to embed other tags into the summary text. For example:

    /// <summary>

    /// Finalizes an instance of the <see cref="Customer"/> class.

    /// </summary>

    ~Customer()

    {

    }

If the class contains generic parameters, these can be annotated within the cref link using either of the following two formats:

    /// <summary>

    /// Initializes a new instance of the <see cref="Customer`1"/> class.

    /// </summary>

    public Customer()

    {

    }

 

    /// <summary>

    /// Initializes a new instance of the <see cref="Customer{T}"/> class.

    /// </summary>

    public Customer()

    {

    }

 

How to Fix Violations

To fix a violation of this rule, edit the summary text for the finalizer as described above.