System.Reflection Namespace

The System.Reflection namespace contains types that retrieve information about assemblies, modules, members, parameters, and other entities in managed code by examining their metadata. These types also can be used to manipulate instances of loaded types, for example to hook up events or to invoke methods. To dynamically create types, use the System.Reflection.Emit namespace.

Classes

TypeReason
AmbiguousMatchException

The exception that is thrown when binding to a member results in more than one member matching the binding criteria. This class cannot be inherited.

Assembly

Represents an assembly, which is a reusable, versionable, and self-describing building block of a common language runtime application.

AssemblyAlgorithmIdAttribute

Specifies an algorithm to hash all files in an assembly. This class cannot be inherited.

AssemblyCompanyAttribute

Defines a company name custom attribute for an assembly manifest.

AssemblyConfigurationAttribute

Specifies the build configuration, such as retail or debug, for an assembly.

AssemblyContentType

Provides information about the type of code contained in an assembly.

AssemblyCopyrightAttribute

Defines a copyright custom attribute for an assembly manifest.

AssemblyCultureAttribute

Specifies which culture the assembly supports.

AssemblyDefaultAliasAttribute

Defines a friendly default alias for an assembly manifest.

AssemblyDelaySignAttribute

Specifies that the assembly is not fully signed when created.

AssemblyDescriptionAttribute

Provides a text description for an assembly.

AssemblyFileVersionAttribute

Instructs 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.

AssemblyFlagsAttribute

Specifies 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.

AssemblyInformationalVersionAttribute

Defines additional version information for an assembly manifest.

AssemblyKeyFileAttribute

Specifies the name of a file containing the key pair used to generate a strong name.

AssemblyKeyNameAttribute

Specifies the name of a key container within the CSP containing the key pair used to generate a strong name.

AssemblyMetadataAttribute

Defines a key/value metadata pair for the decorated assembly.

AssemblyName

Describes an assembly's unique identity in full.

AssemblyNameFlags

Provides information about an Assembly reference.

AssemblyNameProxy

Provides a remotable version of the AssemblyName.

AssemblyProductAttribute

Defines a product name custom attribute for an assembly manifest.

AssemblySignatureKeyAttribute

Provides migration from an older, simpler strong name key to a larger key with a stronger hashing algorithm.

AssemblyTitleAttribute

Specifies a description for an assembly.

AssemblyTrademarkAttribute

Defines a trademark custom attribute for an assembly manifest.

AssemblyVersionAttribute

Specifies the version of the assembly being attributed.

Binder

Selects a member from a list of candidates, and performs type conversion from actual argument type to formal argument type.

BindingFlags

Specifies flags that control binding and the way in which the search for members and types is conducted by reflection.

CallingConventions

Defines the valid calling conventions for a method.

ConstructorInfo

Discovers the attributes of a class constructor and provides access to constructor metadata.

CustomAttributeData

Provides access to custom attribute data for assemblies, modules, types, members and parameters that are loaded into the reflection-only context.

CustomAttributeExtensions

Contains static methods for retrieving custom attributes.

CustomAttributeFormatException

The exception that is thrown when the binary format of a custom attribute is invalid.

CustomAttributeNamedArgument

Represents a named argument of a custom attribute in the reflection-only context.

CustomAttributeTypedArgument

Represents an argument of a custom attribute in the reflection-only context, or an element of an array argument.

DefaultMemberAttribute

Defines the member of a type that is the default member used by Type.InvokeMember(String,BindingFlags,Binder,Object,Object[],ParameterModifier[],CultureInfo,String[]).

EventAttributes

Specifies the attributes of an event.

EventInfo

Discovers the attributes of an event and provides access to event metadata.

ExceptionHandlingClause

Represents a clause in a structured exception-handling block.

ExceptionHandlingClauseOptions

Identifies kinds of exception-handling clauses.

FieldAttributes

Specifies flags that describe the attributes of a field.

FieldInfo

Discovers the attributes of a field and provides access to field metadata.

GenericParameterAttributes

Describes the constraints on a generic type parameter of a generic type or method.

ICustomAttributeProvider

Provides custom attributes for reflection objects that support them.

ImageFileMachine

Identifies the platform targeted by an executable.

InterfaceMapping

Retrieves the mapping of an interface into the actual methods on a class that implements that interface.

IntrospectionExtensions

Contains methods for converting Type objects.

InvalidFilterCriteriaException

The exception that is thrown in Type.FindMembers(MemberTypes,BindingFlags,MemberFilter,Object) when the filter criteria is not valid for the type of filter you are using.

IReflect

Interoperates with the IDispatch interface.

IReflectableType

Represents a type that you can reflect over.

LocalVariableInfo

Discovers the attributes of a local variable and provides access to local variable metadata.

ManifestResourceInfo

Provides access to manifest resources, which are XML files that describe application dependencies.

MemberFilter

Represents a delegate that is used to filter a list of members represented in an array of MemberInfo objects.

MemberInfo

Obtains information about the attributes of a member and provides access to member metadata.

MemberTypes

Marks each type of member that is defined as a derived class of MemberInfo.

MethodAttributes

Specifies flags for method attributes. These flags are defined in the corhdr.h file.

MethodBase

Provides information about methods and constructors.

MethodBody

Provides access to the metadata and MSIL for the body of a method.

MethodImplAttributes

Specifies flags for the attributes of a method implementation.

MethodInfo

Discovers the attributes of a method and provides access to method metadata.

Missing

Represents a missing Object. This class cannot be inherited.

Module

Performs reflection on a module.

ModuleResolveEventHandler

Represents the method that will handle the Assembly.ModuleResolve event of an Assembly.

ObfuscateAssemblyAttribute

Instructs obfuscation tools to use their standard obfuscation rules for the appropriate assembly type.

ObfuscationAttribute

Instructs obfuscation tools to take the specified actions for an assembly, type, or member.

ParameterAttributes

Defines the attributes that can be associated with a parameter. These are defined in CorHdr.h.

ParameterInfo

Discovers the attributes of a parameter and provides access to parameter metadata.

ParameterModifier

Attaches a modifier to parameters so that binding can work with parameter signatures in which the types have been modified.

Pointer

Provides a wrapper class for pointers.

PortableExecutableKinds

Identifies the nature of the code in an executable file.

ProcessorArchitecture

Identifies the processor and bits-per-word of the platform targeted by an executable.

PropertyAttributes

Defines the attributes that can be associated with a property. These attribute values are defined in corhdr.h.

PropertyInfo

Discovers the attributes of a property and provides access to property metadata.

ReflectionContext

Represents a context that can provide reflection objects.

ReflectionTypeLoadException

The 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.

ResourceAttributes

Specifies the attributes for a manifest resource.

ResourceLocation

Specifies the resource location.

RuntimeReflectionExtensions

Provides methods that retrieve information about types at run time.

StrongNameKeyPair

Encapsulates access to a public or private key pair used to sign strong name assemblies.

TargetException

Represents the exception that is thrown when an attempt is made to invoke an invalid target.

TargetInvocationException

The exception that is thrown by methods invoked through reflection. This class cannot be inherited.

TargetParameterCountException

The exception that is thrown when the number of parameters for an invocation does not match the number expected. This class cannot be inherited.

TypeAttributes

Specifies type attributes.

TypeDelegator

Wraps a Type object and delegates methods to that Type.

TypeFilter

Filters the classes represented in an array of Type objects.

TypeInfo

Represents type declarations for class types, interface types, array types, value types, enumeration types, type parameters, generic type definitions, and open or closed constructed generic types.