サーチ…


備考

いくつかの場合は、xmlコメントから拡張テキスト文書作成する必要があります。不幸にも、標準的な方法はありません

しかし、この場合に使用できるいくつかの別々のプロジェクトがあります:

簡単なメソッド注釈

ドキュメントコメントは、それらが記述するメソッドまたはクラスのすぐ上に配置されます。彼らは3つのスラッシュで始まる/// 、およびメタ情報がXML経由で保存することができます。

/// <summary>
/// Bar method description
/// </summary>
public void Bar()
{ 
        
}

タグ内の情報は、Visual StudioなどのツールでIntelliSenseなどのサービスを提供するために使用できます。

メソッドxmlアノテーションの例

Microsoftの一般的なドキュメントタグのリストも参照してください。

インタフェースとクラスのドキュメントのコメント

/// <summary>
/// This interface can do Foo
/// </summary>
public interface ICanDoFoo
{
    // ... 
}

/// <summary>
/// This Bar class implements ICanDoFoo interface
/// </summary>
public class Bar : ICanDoFoo
{
    // ...
}

結果

インターフェイスの概要

インターフェイスの概要

クラス概要

クラス概要

メソッドのドキュメンテーションはparamでコメントし、要素を返す

/// <summary>
/// Returns the data for the specified ID and timestamp.
/// </summary>
/// <param name="id">The ID for which to get data. </param>
/// <param name="time">The DateTime for which to get data. </param>
/// <returns>A DataClass instance with the result. </returns>
public DataClass GetData(int id, DateTime time)
{
   // ...
}

IntelliSenseは、各パラメータの説明を表示します。

パラメータコメント

ヒント:IntellisenseがVisual Studioに表示されない場合は、最初のかっこまたはカンマを削除してからもう一度入力してください。

ドキュメントのコメントからXMLを生成する

コード内のドキュメンテーションコメントからXMLドキュメントファイルを生成するには、 csc.exe C#コンパイラで/docオプションを使用します。

Visual Studio 2013/2015で、 プロジェクト - > プロパティ - > ビルド - > 出力で、 XML documentation fileチェックボックスをオンにします。

XMLドキュメントファイル

プロジェクトをビルドすると、プロジェクト名に対応する名前( XMLDocumentation.dll - > XMLDocumentation.xml )でXMLファイルがコンパイラによって生成されます。

別のプロジェクトでアセンブリを使用する場合は、XMLファイルが参照されているDLLと同じディレクトリにあることを確認してください。

この例:

/// <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();
    }
}

ビルド時にこのXMLを生成します:

<?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>

ドキュメント内の別のクラスの参照

<see>タグは、別のクラスにリンクするために使用できます。それは参照されるクラスの名前を含むべきcrefメンバーを含んでいます。 Visual Studioはこのタグを記述する際にIntellsenseを提供し、参照されるクラスの名前を変更するときにそのような参照が処理されます。

/// <summary>
/// You might also want to check out <see cref="SomeOtherClass"/>.
/// </summary>
public class SomeClass
{
}

Visual Studio Intellisenseのポップアップでは、そのような参照もテキストに色付きで表示されます。

ジェネリッククラスを参照するには、次のようなものを使用します。

/// <summary>
/// An enhanced version of <see cref="List{T}"/>.
/// </summary>
public class SomeGenericClass<T>
{
}


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow