At the heart of reflection is System.Type , which is an abstract base class that provides access to the metadata of a type. You can access the Type class for any instance using GetType( ) , which is a method implemented on System.Object . When you call GetType( ) , the method returns a concrete subtype of System.Type , which can reflect over and manipulate the type. |