The reflection interfaces are defined in CNClrLib.Core or CNClrLib.Core.Intf namespace which enables you to obtain information about loaded .net assemblies and the types defined within them, such as classes, interfaces, and value types. You can also use reflection to create type instances at run time, and to invoke and access them.
The runtime library starts the common language runtime and the common language runtime loader manages application domains, which constitute defined boundaries around objects that have the same application scope. This management includes loading each assembly into the appropriate application domain and controlling the memory layout of the type hierarchy within each assembly.
Assemblies contain modules, modules contain types, and types contain members. Reflection provides objects that encapsulate assemblies, modules, and types. You can use reflection to dynamically create an instance of a type, bind the type to an existing object, or get the type from an existing object. You can then invoke the type's methods or access its fields and properties.
Typical uses of reflection include the following:
There are other interfaces in the above namespace which provides a specialized form of reflection that enables you to build types at runtime.
Describes the _Type interface and provides code examples that illustrate how to use Type with several reflection classes to obtain information about constructors, methods, fields, properties, and events.
Explains how reflection handles the type parameters and type arguments of generic types and generic methods.
Demonstrates using reflection to query attribute existence and values.
Explains how to create a delegate for a method and hook the delegate up to an event. Explains how to create an event-handling method at run time using DynamicMethod.
Explains how to use ClrObject interface to smoothly access the fields and properties, trigger the events and invoke the methods of object the interface is wrapping.