C# Language Générer du code XML à partir de commentaires de documentation


Exemple

Pour générer un fichier de documentation XML à partir des commentaires de documentation dans le code, utilisez l'option /doc avec le compilateur csc.exe C #.

Dans Visual Studio 2013/2015, dans Projet -> Propriétés -> Construire -> Sortie , cochez la case XML documentation file :

Fichier de documentation XML

Lorsque vous construisez le projet, un fichier XML sera généré par le compilateur avec un nom correspondant au nom du projet (par exemple XMLDocumentation.dll -> XMLDocumentation.xml ).

Lorsque vous utilisez l'assembly dans un autre projet, assurez-vous que le fichier XML se trouve dans le même répertoire que la DLL référencée.

Cet exemple:

/// <summary>
/// Data class description
/// </summary>
public class DataClass
{
    /// <summary>
    /// Name property description
    /// </summary>
    public string Name { get; set; }
}


/// <summary>
/// Foo function
/// </summary>
public class Foo
{
    /// <summary>
    /// This method returning some data
    /// </summary>
    /// <param name="id">Id parameter</param>
    /// <param name="time">Time parameter</param>
    /// <returns>Data will be returned</returns>
    public DataClass GetData(int id, DateTime time)
    {
        return new DataClass();
    }
}

Produit ce xml sur build:

<?xml version="1.0"?>
<doc>
    <assembly>
        <name>XMLDocumentation</name>
    </assembly>
    <members>
        <member name="T:XMLDocumentation.DataClass">
            <summary>
            Data class description
            </summary>
        </member>
        <member name="P:XMLDocumentation.DataClass.Name">
            <summary>
            Name property description
            </summary>
        </member>
        <member name="T:XMLDocumentation.Foo">
            <summary>
            Foo function
            </summary>
        </member>
        <member name="M:XMLDocumentation.Foo.GetData(System.Int32,System.DateTime)">
            <summary>
            This method returning some data
            </summary>
            <param name="id">Id parameter</param>
            <param name="time">Time parameter</param>
            <returns>Data will be returned</returns>
        </member>
    </members>
</doc>