/// < summary >…< /summary >これって何者?

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形式のドキュメントファイルのコメント