System.Reflection Namespace
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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
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. |
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. |
AssemblyExtensions | |
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. |
AssemblyNameProxy |
Provides a remotable version of the |
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. |
ConstructorInfo |
Discovers the attributes of a class constructor and provides access to constructor metadata. |
ConstructorInvoker |
Provides methods to invoke the method specified by the provided ConstructorInfo. |
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. |
DefaultMemberAttribute |
Defines the member of a type that is the default member used by InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]). |
DispatchProxy |
Provides a mechanism for instantiating proxy objects and handling their method dispatch. |
EventInfo |
Discovers the attributes of an event and provides access to event metadata. |
EventInfoExtensions | |
ExceptionHandlingClause |
Represents a clause in a structured exception-handling block. |
FieldInfo |
Discovers the attributes of a field and provides access to field metadata. |
IntrospectionExtensions |
Contains methods for converting Type objects. |
InvalidFilterCriteriaException |
The exception that is thrown in FindMembers(MemberTypes, BindingFlags, MemberFilter, Object) when the filter criteria is not valid for the type of filter you are using. |
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. |
MemberInfo |
Obtains information about the attributes of a member and provides access to member metadata. |
MemberInfoExtensions | |
MetadataAssemblyResolver |
Provides the base class for binding algorithms used by MetadataLoadContext. |
MetadataLoadContext |
Represents a closed universe of Type objects loaded for inspection-only purposes. Each MetadataLoadContext can have its own binding rules and is isolated from all other MetadataLoadContexts. |
MethodBase |
Provides information about methods and constructors. |
MethodBody |
Provides access to the metadata and MSIL for the body of a method. |
MethodInfo |
Discovers the attributes of a method and provides access to method metadata. |
MethodInfoExtensions | |
MethodInvoker |
Provides methods to invoke the method specified by the provided MethodBase. |
Missing |
Represents a missing Object. This class cannot be inherited. |
Module |
Performs reflection on a module. |
ModuleExtensions | |
NullabilityInfo |
Represents nullability information. |
NullabilityInfoContext |
Provides APIs for populating nullability information and context from reflection members: ParameterInfo, FieldInfo, PropertyInfo, and EventInfo. |
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. |
ParameterInfo |
Discovers the attributes of a parameter and provides access to parameter metadata. |
PathAssemblyResolver |
Represents a metadata assembly resolver that uses paths to every assembly that may be loaded. |
Pointer |
Provides a wrapper class for pointers. |
PropertyInfo |
Discovers the attributes of a property and provides access to property metadata. |
PropertyInfoExtensions | |
ReflectionContext |
Represents a context that can provide reflection objects. |
ReflectionTypeLoadException |
The exception that is thrown by the GetTypes() method if any of the classes in a module cannot be loaded. This class cannot be inherited. |
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. |
TypeDelegator |
Wraps a Type object and delegates methods to that |
TypeExtensions | |
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. |
Structs
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. |
InterfaceMapping |
Retrieves the mapping of an interface into the actual methods on a class that implements that interface. |
ParameterModifier |
Attaches a modifier to parameters so that binding can work with parameter signatures in which the types have been modified. |
Interfaces
ICustomAttributeProvider |
Provides custom attributes for reflection objects that support them. |
ICustomTypeProvider |
Represents an object that provides a custom type. |
IReflect |
Interoperates with the IDispatch interface. |
IReflectableType |
Represents a type that you can reflect over. |
Enums
AssemblyContentType |
Provides information about the type of code contained in an assembly. |
AssemblyFlags | |
AssemblyHashAlgorithm |
Specifies the hash algorithms used for hashing assembly files and for generating the strong name. |
AssemblyNameFlags |
Provides information about an Assembly reference. |
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. |
DeclarativeSecurityAction |
Specifies the security actions that can be performed using declarative security. |
EventAttributes |
Specifies the attributes of an event. |
ExceptionHandlingClauseOptions |
Identifies kinds of exception-handling clauses. |
FieldAttributes |
Specifies flags that describe the attributes of a field. |
GenericParameterAttributes |
Describes the constraints on a generic type parameter of a generic type or method. |
ImageFileMachine |
Identifies the platform targeted by an executable. |
ManifestResourceAttributes | |
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. |
MethodImplAttributes |
Specifies flags for the attributes of a method implementation. |
MethodImportAttributes |
Specifies flags for the unmanaged method import attributes. |
MethodSemanticsAttributes | |
NullabilityState |
Describes nullability states. |
ParameterAttributes |
Defines the attributes that can be associated with a parameter. These are defined in CorHdr.h. |
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. |
ResourceAttributes |
Specifies the attributes for a manifest resource. |
ResourceLocation |
Specifies the resource location. |
TypeAttributes |
Specifies type attributes. |
Delegates
MemberFilter |
Represents a delegate that is used to filter a list of members represented in an array of MemberInfo objects. |
ModuleResolveEventHandler |
Represents the method that will handle the ModuleResolve event of an Assembly. |
TypeFilter |
Filters the classes represented in an array of Type objects. |
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for