Show / Hide Table of Contents

Interface IModuleIntrospectionProvider

Interface representing a reflection provider used to introspect System.Reflection.Module objects.

Namespace: System.Reflection
Assembly: Nuqleon.Reflection.Virtualization.dll
Syntax
public interface IModuleIntrospectionProvider

Methods

FindTypes(Module, TypeFilter, Object)

Returns an array of classes accepted by the given filter and filter criteria.

Declaration
IReadOnlyList<Type> FindTypes(Module module, TypeFilter filter, object filterCriteria)
Parameters
Type Name Description
System.Reflection.Module module

The module to find types in.

System.Reflection.TypeFilter filter

The delegate used to filter the classes.

System.Object filterCriteria

An Object used to filter the classes.

Returns
Type Description
System.Collections.Generic.IReadOnlyList<System.Type>

An array of type System.Type containing classes that were accepted by the filter.

GetAssembly(Module)

Gets the appropriate System.Reflection.Assembly for the specified module.

Declaration
Assembly GetAssembly(Module module)
Parameters
Type Name Description
System.Reflection.Module module

The module to get the assembly for.

Returns
Type Description
System.Reflection.Assembly

An System.Reflection.Assembly object.

GetCustomAttributes(Module, Boolean)

Gets all the custom attributes for the specified module.

Declaration
IReadOnlyList<object> GetCustomAttributes(Module module, bool inherit)
Parameters
Type Name Description
System.Reflection.Module module

The module to get custom attributes for.

System.Boolean inherit

This argument is ignored for objects of type System.Reflection.Module.

Returns
Type Description
System.Collections.Generic.IReadOnlyList<System.Object>

An array that contains the custom attributes for the specified module.

GetCustomAttributes(Module, Type, Boolean)

Gets the custom attributes for the specified module as specified by type.

Declaration
IReadOnlyList<object> GetCustomAttributes(Module module, Type attributeType, bool inherit)
Parameters
Type Name Description
System.Reflection.Module module

The module to get custom attributes for.

System.Type attributeType

The type for which the custom attributes are to be returned.

System.Boolean inherit

This argument is ignored for objects of type System.Reflection.Module.

Returns
Type Description
System.Collections.Generic.IReadOnlyList<System.Object>

An array that contains the custom attributes for the specified module as specified by attributeType.

GetCustomAttributesData(Module)

Returns information about the attributes that have been applied to the specified module, expressed as System.Reflection.CustomAttributeData objects.

Declaration
IEnumerable<CustomAttributeData> GetCustomAttributesData(Module module)
Parameters
Type Name Description
System.Reflection.Module module

The module to get custom attributes data for.

Returns
Type Description
System.Collections.Generic.IEnumerable<System.Reflection.CustomAttributeData>

A generic list of System.Reflection.CustomAttributeData objects representing data about the attributes that have been applied to the specified module.

GetField(Module, String, BindingFlags)

Returns a field having the specified name and binding attributes.

Declaration
FieldInfo GetField(Module module, string name, BindingFlags bindingAttr)
Parameters
Type Name Description
System.Reflection.Module module

The module to search in.

System.String name

The field name.

System.Reflection.BindingFlags bindingAttr

One of the System.Reflection.BindingFlags bit flags used to control the search.

Returns
Type Description
System.Reflection.FieldInfo

A System.Reflection.FieldInfo object having the specified name and binding attributes, or null if the field does not exist.

GetFields(Module, BindingFlags)

Returns the global fields defined on the module that match the specified binding flags.

Declaration
IReadOnlyList<FieldInfo> GetFields(Module module, BindingFlags bindingFlags)
Parameters
Type Name Description
System.Reflection.Module module

The module to search in.

System.Reflection.BindingFlags bindingFlags

A bitwise combination of System.Reflection.BindingFlags values that limit the search.

Returns
Type Description
System.Collections.Generic.IReadOnlyList<System.Reflection.FieldInfo>

An array of type System.Reflection.FieldInfo representing the global fields defined on the module that match the specified binding flags; if no global fields match the binding flags, an empty array is returned.

GetFullyQualifiedName(Module)

Gets a string representing the fully qualified name and path to the specified module.

Declaration
string GetFullyQualifiedName(Module module)
Parameters
Type Name Description
System.Reflection.Module module

The module to get the fully qualified name for.

Returns
Type Description
System.String

The fully qualified module name.

GetMDStreamVersion(Module)

Gets the metadata stream version.

Declaration
int GetMDStreamVersion(Module module)
Parameters
Type Name Description
System.Reflection.Module module

The module to get the stream version for.

Returns
Type Description
System.Int32

A 32-bit integer representing the metadata stream version. The high-order two bytes represent the major version number, and the low-order two bytes represent the minor version number.

GetMetadataToken(Module)

Gets a token that identifies the module in metadata.

Declaration
int GetMetadataToken(Module module)
Parameters
Type Name Description
System.Reflection.Module module

The module to get the metadata token for.

Returns
Type Description
System.Int32

An integer token that identifies the current module in metadata.

GetMethod(Module, String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])

Returns the method implementation in accordance with the specified criteria.

Declaration
MethodInfo GetMethod(Module module, string name, BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type[] types, ParameterModifier[] modifiers)
Parameters
Type Name Description
System.Reflection.Module module

The module to search in.

System.String name

The method name.

System.Reflection.BindingFlags bindingAttr

One of the BindingFlags bit flags used to control the search.

System.Reflection.Binder binder

An object that implements Binder, containing properties related to this method.

System.Reflection.CallingConventions callConvention

The calling convention for the method.

System.Type[] types

The parameter types to search for.

System.Reflection.ParameterModifier[] modifiers

An array of parameter modifiers used to make binding work with parameter signatures in which the types have been modified.

Returns
Type Description
System.Reflection.MethodInfo

A System.Reflection.MethodInfo object containing implementation information as specified, or null if the method does not exist.

GetMethods(Module, BindingFlags)

Returns the global methods defined on the module that match the specified binding flags.

Declaration
IReadOnlyList<MethodInfo> GetMethods(Module module, BindingFlags bindingFlags)
Parameters
Type Name Description
System.Reflection.Module module

The module to search in.

System.Reflection.BindingFlags bindingFlags

A bitwise combination of System.Reflection.BindingFlags values that limit the search.

Returns
Type Description
System.Collections.Generic.IReadOnlyList<System.Reflection.MethodInfo>

An array of type System.Reflection.MethodInfo representing the global methods defined on the module that match the specified binding flags; if no global methods match the binding flags, an empty array is returned.

GetModuleHandle(Module)

Gets a handle for the module.

Declaration
ModuleHandle GetModuleHandle(Module module)
Parameters
Type Name Description
System.Reflection.Module module

The module to get the module handle for.

Returns
Type Description
System.ModuleHandle

A System.ModuleHandle structure for the current module.

GetModuleVersionId(Module)

Gets a universally unique identifier (UUID) that can be used to distinguish between two versions of a module.

Declaration
Guid GetModuleVersionId(Module module)
Parameters
Type Name Description
System.Reflection.Module module

The module to get the module version for.

Returns
Type Description
System.Guid

A System.Guid that can be used to distinguish between two versions of a module.

GetName(Module)

Gets a String representing the name of the module with the path removed.

Declaration
string GetName(Module module)
Parameters
Type Name Description
System.Reflection.Module module

The module to get the name for.

Returns
Type Description
System.String

The module name with no path.

GetPEKind(Module, out PortableExecutableKinds, out ImageFileMachine)

Gets a pair of values indicating the nature of the code in a module and the platform targeted by the module.

Declaration
void GetPEKind(Module module, out PortableExecutableKinds peKind, out ImageFileMachine machine)
Parameters
Type Name Description
System.Reflection.Module module

The module to get the PE kind for.

System.Reflection.PortableExecutableKinds peKind

When this method returns, a combination of the System.Reflection.PortableExecutableKinds values indicating the nature of the code in the module.

System.Reflection.ImageFileMachine machine

When this method returns, one of the System.Reflection.ImageFileMachine values indicating the platform targeted by the module.

GetScopeName(Module)

Gets a string representing the name of the module.

Declaration
string GetScopeName(Module module)
Parameters
Type Name Description
System.Reflection.Module module

The module to get the name for.

Returns
Type Description
System.String

The module name.

GetType(Module, String, Boolean, Boolean)

Returns the specified type, specifying whether to make a case-sensitive search of the module and whether to throw an exception if the type cannot be found.

Declaration
Type GetType(Module module, string className, bool throwOnError, bool ignoreCase)
Parameters
Type Name Description
System.Reflection.Module module

The module to search in.

System.String className

The name of the type to locate. The name must be fully qualified with the namespace.

System.Boolean throwOnError

true to throw an exception if the type cannot be found; false to return null.

System.Boolean ignoreCase

true for case-insensitive search; otherwise, false.

Returns
Type Description
System.Type

A System.Type object representing the specified type, if the type is declared in this module; otherwise, null.

GetTypes(Module)

Returns all the types defined within the specified module.

Declaration
IReadOnlyList<Type> GetTypes(Module module)
Parameters
Type Name Description
System.Reflection.Module module

The module to search in.

Returns
Type Description
System.Collections.Generic.IReadOnlyList<System.Type>

An array of type System.Type containing types defined within the module that is reflected by this instance.

IsDefined(Module, Type, Boolean)

Determines whether the custom attribute of the specified attributeType type or its derived types is applied to the specified module.

Declaration
bool IsDefined(Module module, Type attributeType, bool inherit)
Parameters
Type Name Description
System.Reflection.Module module

The module to check the custom attribute on.

System.Type attributeType

The type of attribute to search for.

System.Boolean inherit

This argument is ignored for objects of this type.

Returns
Type Description
System.Boolean

true if one or more instances of attributeType or its derived types are applied to the specified module; otherwise, false.

IsResource(Module)

Gets a value indicating whether the object is a resource.

Declaration
bool IsResource(Module module)
Parameters
Type Name Description
System.Reflection.Module module

The module to check.

Returns
Type Description
System.Boolean

true if the object is a resource; otherwise, false.

ResolveField(Module, Int32, Type[], Type[])

Returns the field identified by the specified metadata token, in the context defined by the specified generic type parameters.

Declaration
FieldInfo ResolveField(Module module, int metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments)
Parameters
Type Name Description
System.Reflection.Module module

The module to resolve the metadata token in.

System.Int32 metadataToken

A metadata token that identifies a field in the module.

System.Type[] genericTypeArguments

An array of System.Type objects representing the generic type arguments of the type where the token is in scope, or null if that type is not generic.

System.Type[] genericMethodArguments

An array of System.Type objects representing the generic type arguments of the method where the token is in scope, or null if that method is not generic.

Returns
Type Description
System.Reflection.FieldInfo

A System.Reflection.FieldInfo object representing the field that is identified by the specified metadata token.

ResolveMember(Module, Int32, Type[], Type[])

Returns the type or member identified by the specified metadata token, in the context defined by the specified generic type parameters.

Declaration
MemberInfo ResolveMember(Module module, int metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments)
Parameters
Type Name Description
System.Reflection.Module module

The module to resolve the metadata token in.

System.Int32 metadataToken

A metadata token that identifies a type or member in the module.

System.Type[] genericTypeArguments

An array of System.Type objects representing the generic type arguments of the type where the token is in scope, or null if that type is not generic.

System.Type[] genericMethodArguments

An array of System.Type objects representing the generic type arguments of the method where the token is in scope, or null if that method is not generic.

Returns
Type Description
System.Reflection.MemberInfo

A System.Reflection.MemberInfo object representing the type or member that is identified by the specified metadata token.

ResolveMethod(Module, Int32, Type[], Type[])

Returns the method or constructor identified by the specified metadata token, in the context defined by the specified generic type parameters.

Declaration
MethodBase ResolveMethod(Module module, int metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments)
Parameters
Type Name Description
System.Reflection.Module module

The module to resolve the metadata token in.

System.Int32 metadataToken

A metadata token that identifies a method or constructor in the module.

System.Type[] genericTypeArguments

An array of System.Type objects representing the generic type arguments of the type where the token is in scope, or null if that type is not generic.

System.Type[] genericMethodArguments

An array of System.Type objects representing the generic type arguments of the method where the token is in scope, or null if that method is not generic.

Returns
Type Description
System.Reflection.MethodBase

A System.Reflection.MethodBase object representing the method that is identified by the specified metadata token.

ResolveSignature(Module, Int32)

Returns the signature blob identified by a metadata token.

Declaration
byte[] ResolveSignature(Module module, int metadataToken)
Parameters
Type Name Description
System.Reflection.Module module

The module to resolve the metadata token in.

System.Int32 metadataToken

A metadata token that identifies a signature in the module.

Returns
Type Description
System.Byte[]

An array of bytes representing the signature blob.

ResolveString(Module, Int32)

Returns the string identified by the specified metadata token.

Declaration
string ResolveString(Module module, int metadataToken)
Parameters
Type Name Description
System.Reflection.Module module

The module to resolve the metadata token in.

System.Int32 metadataToken

A metadata token that identifies a string in the string heap of the module.

Returns
Type Description
System.String

A System.String containing a string value from the metadata string heap.

ResolveType(Module, Int32, Type[], Type[])

Returns the type identified by the specified metadata token, in the context defined by the specified generic type parameters.

Declaration
Type ResolveType(Module module, int metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments)
Parameters
Type Name Description
System.Reflection.Module module

The module to resolve the metadata token in.

System.Int32 metadataToken

A metadata token that identifies a type in the module.

System.Type[] genericTypeArguments

An array of System.Type objects representing the generic type arguments of the type where the token is in scope, or null if that type is not generic.

System.Type[] genericMethodArguments

An array of System.Type objects representing the generic type arguments of the method where the token is in scope, or null if that method is not generic.

Returns
Type Description
System.Type

A System.Type object representing the type that is identified by the specified metadata token.

Extension Methods

CustomAttributeProviderExtensions.IsDefined(IModuleIntrospectionProvider, Module, Type)
CustomAttributeProviderExtensions.GetCustomAttributes(IModuleIntrospectionProvider, Module)
CustomAttributeProviderExtensions.GetCustomAttributes(IModuleIntrospectionProvider, Module, Type)
CustomAttributeProviderExtensions.GetCustomAttributes<T>(IModuleIntrospectionProvider, Module)
CustomAttributeProviderExtensions.GetCustomAttribute(IModuleIntrospectionProvider, Module, Type)
CustomAttributeProviderExtensions.GetCustomAttribute<T>(IModuleIntrospectionProvider, Module)
ModuleIntrospectionProviderExtensions.GetField(IModuleIntrospectionProvider, Module, String)
ModuleIntrospectionProviderExtensions.GetFields(IModuleIntrospectionProvider, Module)
ModuleIntrospectionProviderExtensions.GetMethod(IModuleIntrospectionProvider, Module, String)
ModuleIntrospectionProviderExtensions.GetMethod(IModuleIntrospectionProvider, Module, String, Type[])
ModuleIntrospectionProviderExtensions.GetMethods(IModuleIntrospectionProvider, Module)
ModuleIntrospectionProviderExtensions.GetType(IModuleIntrospectionProvider, Module, String, Boolean)
ModuleIntrospectionProviderExtensions.GetType(IModuleIntrospectionProvider, Module, String)
ModuleIntrospectionProviderExtensions.ResolveField(IModuleIntrospectionProvider, Module, Int32)
ModuleIntrospectionProviderExtensions.ResolveMember(IModuleIntrospectionProvider, Module, Int32)
ModuleIntrospectionProviderExtensions.ResolveMethod(IModuleIntrospectionProvider, Module, Int32)
ModuleIntrospectionProviderExtensions.ResolveType(IModuleIntrospectionProvider, Module, Int32)
In This Article
Back to top Generated by DocFX