型情報以外のメタデータとして属性も挙げられます。 .NETでは属性を使うことでプログラムに型情報以外の追加的なメタデータを埋め込むことができ、それを実行時に取得・参照することができます。 属性にはコンパイラやランタイムが特別な操作を行うために使用されるものが存在するほか、独自に意味を定義して情報を埋め込むカスタム属性があります。
代表的な属性として、プログラムのバージョン情報を埋め込むための属性(アセンブリのバージョン情報を設定・取得する)や、旧式化されたAPIであることを示すObsolete属性(機能の廃止・非推奨化)、オブジェクトをシリアライズする際の動作を定義する属性(シリアライズの基本)などがあります。
その他、属性について、および属性の使用方法や独自に定義してその情報を取得する方法などについて詳しくは属性とメタデータで個別に解説しています。