Visual Studioで逆アセンブリコードに日本語コメントが表示される理由とは?


.NETでプログラミングしていると、List<T> や Console.WriteLine などのライブラリの定義を「F12」キーや「定義へ移動」で表示することがあります。そのとき、内部のコードに日本語のコメントが表示されて驚いたことはありませんか?

この記事では、Visual Studioがなぜそのような表示をするのかを、初心者にもわかりやすく解説します。


1. そもそも表示されているのは本物のソースコード?

Visual Studioでライブラリの中身を見たとき、次のようなコードが表示されることがあります:

// 指定された文字列が null または空文字列 ("") かどうかを示します。
public static bool IsNullOrEmpty(string value);

このコメント、誰が書いたの?どうやって表示されているの?と不思議に思うかもしれません。

実は、表示されているのは2つのどちらかです:

種類説明コメントの言語
① GitHub上の本物のソースコードMicrosoft公式が公開している.NETのC#コード英語
② ILからの逆アセンブル(Disassembly)DLLファイルをC#に復元したコード日本語 or 英語(Visual Studioの言語による)

2. なぜ日本語のコメントが表示されるのか?

Visual Studioは、ライブラリの情報を表示する際に、次の2つのリソースを組み合わせています。

① IL(中間言語)からの逆アセンブル

  • .dll に含まれているIL(中間言語)から、C#形式のコードに変換して表示。
  • 本物のC#ソースコードが取得できない場合に使用されます。

② XMLドキュメントコメント(日本語翻訳付き)

  • .dll に付属する .xml ファイルには、各メソッドの説明文が含まれています。
  • Visual Studioは、現在のUI言語(日本語や英語)に合わせて、コメントを自動的に表示してくれます。
  • つまり、日本語のコメントは、このXMLファイルから取得されているのです。

3. コメントの言語はどうやって決まるの?

Visual Studioの表示言語が「日本語」に設定されていると、可能な限り日本語のコメントが表示されます。

表示言語を「英語」に変更すると、コメントも英語に切り替わります。

設定を変更するには:

  1. [ツール] → [オプション]
  2. [環境] → [国際対応の設定]
  3. 言語を「英語(English)」に変更 → 再起動

4. GitHubの本物のソースコードを表示する方法

Visual Studioは .NET ライブラリの本物のC#ソースコードを、GitHubから直接取得して表示する機能も持っています。

これを実現するのが Source Link(ソースリンク) という仕組みです。

有効にする方法:

  1. [ツール] → [オプション]
  2. [デバッグ] → [一般]
  3. 「ソース サーバーを有効にする」にチェックを入れる

これにより、「定義へ移動(F12)」を実行したときに、GitHub上の公式ソースコードが英語で表示されます。


5. 実際に見比べてみよう

表示モード内容コメント例
逆アセンブル(日本語UI)ILから再構築+XMLコメント// 配列の要素数を取得します。
Source Link(英語UI)GitHub上のソースコード/// Gets the number of elements in the array.

まとめ

Visual Studioで表示される「.NETライブラリのコードに日本語コメントがついている」現象は…

  • 逆アセンブル機能XMLドキュメントの組み合わせによるもの
  • 表示言語が日本語なら、日本語コメントが自動で表示される
  • Source Link を使えば、本物のC#ソースコード(英語)も確認できる

という仕組みになっています。


補足:初心者の方へ

「定義へ移動(F12)」や「逆アセンブル表示」は、ライブラリの使い方を理解するうえで非常に役立ちます。

ぜひ、表示されたコメントを手がかりに、ライブラリの動作を読み解く練習をしてみましょう!

訪問数 8 回, 今日の訪問数 1回

.NET,VisualStudio

Posted by hidepon