Introduction
The ability to find out information about objects at run-time is called Reflection.
In Reflection we can find out the object’s class, details of an object’s methods,
and even create one dynamically at runtime. Reflection is a powerful mechanism
with the System.Reflection namespace contains nearly forty classes and
interface. The Type class is the root of all reflection operations and the Object
that represents a type inside the system. Type is an abstract base class that
allows multiple implementations.
This class is the primary means by which we can access metadata, and it acts
as a gateway to the Reflection API. It provides methods for obtaining information
about a type declaration, such as the constructors, methods, fields, properties,
and events of a class, as well as the module and the assembly in which the class
is deployed.