System.Reflection Namespace

The System.Reflection namespace contains classes and interfaces that provide a managed view of loaded types, methods, and fields, with the ability to dynamically create and invoke types.

Public classAmbiguousMatchExceptionThe exception that is thrown when binding to a member results in more than one member matching the binding criteria. This class cannot be inherited.
Public classAssemblyDefines an Assembly, which is a reusable, versionable, and self-describing building block of a common language runtime application.
Public classAssemblyAlgorithmIdAttributeSpecifies an algorithm to hash all files in an assembly. This class cannot be inherited.
Public classAssemblyCompanyAttributeDefines a company name custom attribute for an assembly manifest.
Public classAssemblyConfigurationAttributeSpecifies the build configuration, such as retail or debug, for an assembly.
Public classAssemblyCopyrightAttributeDefines a copyright custom attribute for an assembly manifest.
Public classAssemblyCultureAttributeSpecifies which culture the assembly supports.
Public classAssemblyDefaultAliasAttributeDefines a friendly default alias for an assembly manifest.
Public classAssemblyDelaySignAttributeSpecifies that the assembly is not fully signed when created.
Public classAssemblyDescriptionAttributeProvides a text description for an assembly.
Public classAssemblyFileVersionAttributeInstructs a compiler to use a specific version number for the Win32 file version resource. The Win32 file version is not required to be the same as the assembly's version number.
Public classAssemblyFlagsAttributeSpecifies a bitwise combination of AssemblyNameFlags flags for an assembly, describing just-in-time (JIT) compiler options, whether the assembly is retargetable, and whether it has a full or tokenized public key. This class cannot be inherited.
Public classAssemblyInformationalVersionAttributeDefines additional version information for an assembly manifest.
Public classAssemblyKeyFileAttributeSpecifies the name of a file containing the key pair used to generate a strong name.
Public classAssemblyKeyNameAttributeSpecifies the name of a key container within the CSP containing the key pair used to generate a strong name.
Public classAssemblyNameDescribes an assembly's unique identity in full.
Public classAssemblyNameProxyProvides a remotable version of the AssemblyName.
Public classAssemblyProductAttributeDefines a product name custom attribute for an assembly manifest.
Public classAssemblyTitleAttributeDefines an assembly title custom attribute for an assembly manifest.
Public classAssemblyTrademarkAttributeDefines a trademark custom attribute for an assembly manifest.
Public classAssemblyVersionAttributeSpecifies the version of the assembly being attributed.
Public classBinderSelects a member from a list of candidates, and performs type conversion from actual argument type to formal argument type.
Public classConstructorInfoDiscovers the attributes of a class constructor and provides access to constructor metadata.
Public classCustomAttributeDataProvides access to custom attribute data for assemblies, modules, types, members and parameters that are loaded into the reflection-only context.
Public classCustomAttributeFormatExceptionThe exception that is thrown when the binary format of a custom attribute is invalid.
Public classDefaultMemberAttributeDefines the member of a type that is the default member used by InvokeMember.
Public classEventInfoDiscovers the attributes of an event and provides access to event metadata.
Public classExceptionHandlingClauseRepresents a clause in a structured exception-handling block.
Public classFieldInfoDiscovers the attributes of a field and provides access to field metadata.
Public classInvalidFilterCriteriaExceptionThe exception that is thrown in FindMembers when the filter criteria is not valid for the type of filter you are using.
Public classLocalVariableInfoDiscovers the attributes of a local variable and provides access to local variable metadata.
Public classManifestResourceInfoContains manifest resource topology information.
Public classMemberInfoObtains information about the attributes of a member and provides access to member metadata.
Public classMethodBaseProvides information about methods and constructors.
Public classMethodBodyProvides access to the metadata and MSIL for the body of a method.
Public classMethodInfoDiscovers the attributes of a method and provides access to method metadata.
Public classMissingRepresents a missing Object. This class cannot be inherited.
Public classModulePerforms reflection on a module.
Public classObfuscateAssemblyAttributeInstructs obfuscation tools to use their standard obfuscation rules for the appropriate assembly type.
Public classObfuscationAttributeInstructs obfuscation tools to take the specified actions for an assembly, type, or member.
Public classParameterInfoDiscovers the attributes of a parameter and provides access to parameter metadata.
Public classPointerProvides a wrapper class for pointers.
Public classPropertyInfoDiscovers the attributes of a property and provides access to property metadata.
Public classReflectionTypeLoadExceptionThe exception that is thrown by the Module.GetTypes method if any of the classes in a module cannot be loaded. This class cannot be inherited.
Public classStrongNameKeyPairEncapsulates access to a public or private key pair used to sign strong name assemblies.
Public classTargetExceptionRepresents the exception that is thrown when an attempt is made to invoke an invalid target.
Public classTargetInvocationExceptionThe exception that is thrown by methods invoked through reflection. This class cannot be inherited.
Public classTargetParameterCountExceptionThe exception that is thrown when the number of parameters for an invocation does not match the number expected. This class cannot be inherited.
Public classTypeDelegatorWraps a Type object and delegates all methods to that Type.

Public interfaceICustomAttributeProviderProvides custom attributes for reflection objects that support them.
Public interfaceIReflectAllows objects to return MemberInfo objects that represent an object.

Public structureCustomAttributeNamedArgumentRepresents a named argument of a custom attribute in the reflection-only context.
Public structureCustomAttributeTypedArgumentRepresents a typed argument of a custom attribute in the inspection context.
Public structureInterfaceMappingRetrieves the mapping of an interface into the actual methods on a class that implements that interface.
Public structureParameterModifierAttaches a modifier to parameters so that binding can work with parameter signatures in which the types have been modified.

Public delegateMemberFilterRepresents a delegate that is used to filter a list of members represented in an array of MemberInfo objects.
Public delegateModuleResolveEventHandlerRepresents the method that will handle the ModuleResolve event of an Assembly.
Public delegateTypeFilterFilters the classes represented in an array of Type objects.

Public enumerationAssemblyNameFlagsProvides information about an Assembly reference.
Public enumerationBindingFlagsSpecifies flags that control binding and the way in which the search for members and types is conducted by reflection.
Public enumerationCallingConventionsDefines the valid calling conventions for an enumeration.
Public enumerationEventAttributesSpecifies the attributes of an event.
Public enumerationExceptionHandlingClauseOptionsIdentifies kinds of exception-handling clauses.
Public enumerationFieldAttributesSpecifies flags that describe the attributes of a field.
Public enumerationGenericParameterAttributesDescribes the constraints on a generic type parameter of a generic type or method.
Public enumerationImageFileMachineIdentifies the platform targeted by an executable.
Public enumerationMemberTypesMarks each type of member that is defined as a derived class of MemberInfo.
Public enumerationMethodAttributesSpecifies flags for method attributes. These flags are defined in the corhdr.h file.
Public enumerationMethodImplAttributesSpecifies flags for the attributes of a method implementation.
Public enumerationParameterAttributesDefines the attributes that can be associated with a parameter. These are defined in CorHdr.h.
Public enumerationPortableExecutableKindsIdentifies the nature of the code in an executable file.
Public enumerationProcessorArchitectureIdentifies the processor and bits-per-word of the platform targeted by an executable.
Public enumerationPropertyAttributesDefines the attributes that can be associated with a property. These attribute values are defined in corhdr.h.
Public enumerationResourceAttributesSpecifies the attributes for a manifest resource.
Public enumerationResourceLocationSpecifies the resource location.
Public enumerationTypeAttributesSpecifies type attributes.