XML ドキュメント (F#)
F# では、スラッシュ 3 個 (///) のコード コメントからドキュメントを生成できます。 コード ファイル (.fs) またはシグネチャ (.fsi) ファイルでは、宣言の前に XML コメントを記述できます。
コメントからのドキュメント生成
F# では、他の .NET Framework 言語と同様に、コメントからのドキュメント生成がサポートされています。 他の .NET Framework 言語と同様に、-doc コンパイラ オプションを使用すると、ドキュメントに変換できる情報が含まれた XML ファイルを生成できます。変換には、Sandcastle などのツールを使用します。 他の .NET Framework 言語で記述されたアセンブリ用に設計されたツールを使用して生成したドキュメントは、通常、F# の構成要素のコンパイルされた形式に基づく API のビューを生成します。 F# を明示的にサポートしているツールでない限り、これらのツールによって生成されたドキュメントは、F# での API のビューとは一致しません。
XML からドキュメントを生成する方法の詳細については、「XML ドキュメント コメント (C# プログラミング ガイド)」を参照してください。
推奨されるタグ
XML ドキュメントのコメントを記述するには、2 つの方法があります。 第 1 の方法では、XML タグを使用しないで、トリプル スラッシュ コメント内にドキュメントを直接記述します。 このようにすると、コメント テキスト全体が、直後にあるコード コンストラクターの概要ドキュメントとして解釈されます。 各構成要素の概要のみを記述する場合は、この方法を使用します。 もう 1 つの方法では、XML タグを使用して、より構造化されたドキュメントを記述します。 2 番目の方法を使用すると、概要、補足説明、各パラメーターおよび型パラメーターとスローされた例外のドキュメント、および戻り値の説明を個別に指定できます。 次の表では、F# の XML コード コメントで認識される XML タグについて説明します。
タグの構文 |
Description |
---|---|
<c> text </c> |
text がコードであることを指定します。 このタグは、コードに適したフォントでテキストを表示するためにドキュメント ジェネレーターで使用できます。 |
<summary> text </summary> |
text がプログラム要素の簡単な説明であることを指定します。 通常は、1 または 2 文で説明を記述します。 |
<remarks> text </remarks> |
text がプログラム要素についての補足情報であることを指定します。 |
<param name="名前"> 説明 </param> |
関数またはメソッドのパラメーターの名前と説明を指定します。 |
<typeparam name="名前"> 説明 </typeparam> |
型パラメーターの名前と説明を指定します。 |
<returns> text </returns> |
text が関数またはメソッドの戻り値の説明であることを指定します。 |
<exception cref="型"> 説明 </exception> |
生成される可能性のある例外の型およびその例外がスローされる条件を指定します。 |
<see cref="参照"> テキスト </see> |
別のプログラム要素へのインライン リンクを指定します。 reference は、XML ドキュメント ファイルで使用される名前です。 text はリンクに表示されるテキストです。 |
<seealso cref="リファレンス"/> |
別の種類のドキュメントに対する参照リンクを指定します。 reference は、XML ドキュメント ファイルで使用される名前です。 通常、参照リンクは、ドキュメント ページの下部に表示されます。 |
<para> text </para> |
テキストの段落を指定します。 remarks タグの内部のテキストの段落分けに使用します。 |
例
Description
シグネチャ ファイルでの標準的な XML ドキュメント コメントを次に示します。
コード
/// <summary>Builds a new string whose characters are the results of applying the function <c>mapping</c>
/// to each of the characters of the input string and concatenating the resulting
/// strings.</summary>
/// <param name="mapping">The function to produce a string from each character of the input string.</param>
///<param name="str">The input string.</param>
///<returns>The concatenated string.</returns>
///<exception cref="System.ArgumentNullException">Thrown when the input string is null.</exception>
val collect : (char -> string) -> string -> string
例
Description
次の例では、XML タグを使用しない方法を示します。 この例では、コメント内のテキスト全体が概要と見なされます。 summary タグを明示的に指定しない場合は、param や returns などの他のタグを指定できないことに注意してください。
コード
/// Creates a new string whose characters are the result of applying
/// the function mapping to each of the characters of the input string
/// and concatenating the resulting strings.
val collect : (char -> string) -> string -> string