Metadata represents information about .NET components and applications, including type definitions ( methods , variables , events, and so on), version information, and information related to externally used assemblies. Metadata extends the concept of COM type libraries and is used by the CLR for verification, security, memory allocation, and execution. It is also leveraged by the compiler, tools, and the COM-interoperability layer. Metadata is fundamental for tool developers. For instance, the IntelliSense capability in Visual Studio .NET that provides suggestions for methods on a particular type uses the metadata of that type. Metadata is also used by debuggers , memory profilers, object browsers, and tools for interoperating .NET components with other frameworks (for example, COM, J2EE). |