The .NET Framework contains not just code but metadata as well. Metadata is data about assemblies, types, methods, properties, and so on used in a program. These assemblies, properties, types, and methods are classes defined within the C# programming language. These classes, types, and methods are retrieved at runtime to parse a developer's application logic for execution. Attributes allow us to add extra information to these programs as well as methods that can be used during runtime while executing application logic.
The .NET Framework also allows developers to define this metadata information during development. It can be read during runtime using reflection. Reflection enables us to create an instance of the type retrieved and to invoke its methods and properties.
In this chapter, we will understand how the ...