Metadata and Reflection
The Serialization example in Chapter 2 demonstrates how metadata makes many of the services of the Common Language Runtime possible. Many of the technologies we cover in the rest of the book rely on metadata, although we will not always stop and point this out.
Metadata is information about the assemblies, modules, and types that constitute .NET programs. If you have ever had to create IDL to generate a type library so that your C++ COM objects could be called by Visual Basic, or to create proxies and stubs, you will appreciate how useful metadata is and will be grateful that it comes “for free.”
.NET compilers emit metadata, and the CLR, the .NET Framework, or your own programs can use this metadata. Since we want to ...