The process of obtaining information about assemblies and the types defined within them, and creating, invoking, and accessing type instances at run time.