It is a powerful tool for determining the contents of unknown assembly which can be used for a wide variety of classes in simple words Reflection provides the ability to determine things and execute code at runtime. Usage of Reflection: We can configure the application by loading the external configuration file and service based on it after doing this application don’t need to know about the classes that used those services till it conforms to a specific interface or API. Using Reflection we can generate the classes and code after which the programmer doesn`t need to rewrite all the code again. The Namespace used for reflection is System.Reflection.