C#のプログラムをみると///<summary> ....</summary> ///
という見慣れないコードが書かれている場合があります。
本記事では、///<summary> ....</summary> ///
がどういったものであるかを紹介します。
XMLドキュメンテーションコメント
C#に含まれる /// <summary> ....</summary>///
は、XMLドキュメンテーションコメントといいます。
とても煩雑にいうと、コメントです。
主にあるメソッドについて、何を行うメソッドなのかコメントする場合に用いられます。
summaryタグ以外にも様々なタグがあります。
<summary> | メソッドの概要 |
<param> | メソッドの引数の名前 |
<returns> | 戻り値の説明 |
https://learn.microsoft.com/ja-jp/dotnet/csharp/language-reference/xmldoc/recommended-tags
主にメソッドと書きましたが、当然メソッド以外でも利用されます。
具体例
using System;
///<summary>
///サンプルクラス
///</summary>
public class SampleClass
{
///<summary>
///足し算
///</summary>
///<param name="a">数字</param>
///<param name="b">数字</param>
///<returns>2つの数字の足し算</returns>
public static int Add(int a, int b)
{
return a + b;
}
///<summary>実行</summary>
public static void Main()
{
Console.WriteLine(Add(1,2));
}
}
しかし、ただコメントであれば、//
や/**/
で十分なはずです。
XMLドキュメンテーションコメントとコメントの違いとして、
XMLドキュメンテーションコメントは、
コンパイル時、ソースコードからXML形式のドキュメントを生成する
ことができます。
実際に上記のソースコードをコンパイルしてみます。
コンパイルしてXMLドキュメンテーションを生成する
PowerShellを管理者として起動します。
cdコマンドで作成したソースコードファイルまで移動します。
そして以下のコマンドを実行します。
C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe test.cs /doc:doctest.xml
C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe
は、C#のコンパイラです。
test.cs
は、作成したファイル。
/doc:doctest.xml
は、XML形式のドキュメンテーションをdoctestという名前で保存します。
実行すると、doctest.xmlファイルが生成されます。
XML形式ファイルをブラウザで開いてみましょう。
XMLドキュメンテーションができています。
まとめ
/// <summary> .... </summary>///
には以下のような意味があります。
・ソースコードのコメント
・XML形式のドキュメントファイルのコメント