Metadata and Attributes
In Chapter 2, you saw how classes are compiled into assemblies. Alongside the compiled (MSIL) version of the application code, assemblies contain additional information about each type they contain—the name, together with methods, properties, events, and other items. This is metadata.
Do not confuse metadata with manifests. A manifest contains information about the contents of the assembly and about other assemblies that the contents reference. An assembly contains a single manifest. Metadata holds information about a single type in an assembly, and each type has its own set of metadata.
The ILDASM utility uses the metadata of each type in an assembly to present the contents of that assembly in a tree structure. The .NET ...