メタデータ (共通言語基盤)
メタデータとは、共通言語基盤において、共通中間言語 (CIL) コードについての情報を記録したコードのことである。.NET Framework言語のコンパイラはCILを含むアセンブリにメタデータを保存する。メタデータには、そのアセンブリに含まれる全てのクラスやクラスメンバ、さらにそのアセンブリから呼び出される他のアセンブリのクラスやクラスメンバの情報が記録される。メソッドのメタデータにはそのメソッドに関する全ての情報が記録される(クラス、戻り値の型、パラメータなど)。共通言語ランタイム(CLR)がCILを実行する際、呼び出し元のメタデータが呼び出し先に記録されたメタデータと等しいことがチェックされる。これにより、パラメータや戻り値の型が完全に一致するメソッドが呼び出される。