ModuleBuilder.ResolveType(Int32, Type[], Type[]) Method
Definition
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.
Returns the type identified by the specified metadata token, in the context defined by the specified generic type parameters.
public:
override Type ^ ResolveType(int metadataToken, cli::array <Type ^> ^ genericTypeArguments, cli::array <Type ^> ^ genericMethodArguments);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Trimming changes metadata tokens")]
public override Type ResolveType(int metadataToken, Type[]? genericTypeArguments, Type[]? genericMethodArguments);
public override Type ResolveType(int metadataToken, Type[]? genericTypeArguments, Type[]? genericMethodArguments);
public override Type ResolveType(int metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Trimming changes metadata tokens")>]
override this.ResolveType : int * Type[] * Type[] -> Type
override this.ResolveType : int * Type[] * Type[] -> Type
Public Overrides Function ResolveType (metadataToken As Integer, genericTypeArguments As Type(), genericMethodArguments As Type()) As Type
Parameters
- metadataToken
- Int32
A metadata token that identifies a type in the module.
- genericTypeArguments
- Type[]
An array of Type objects representing the generic type arguments of the type where the token is in scope, or null if that type is not generic.
- genericMethodArguments
- Type[]
An array of 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
A Type object representing the type that is identified by the specified metadata token.
- Attributes
Exceptions
metadataToken is not a token for a type in the scope of the current module.
-or-
metadataToken is a TypeSpec whose signature contains element type var (a type parameter of a generic type) or mvar (a type parameter of a generic method), and the necessary generic type arguments were not supplied for either or both of genericTypeArguments and genericMethodArguments.
metadataToken is not a valid token in the scope of the current module.
Remarks
Use the Type.GetGenericArguments method on the type where metadataToken is in scope to obtain an array of generic type arguments for genericTypeArguments. Use the MethodInfo.GetGenericArguments method on the method where metadataToken is in scope to obtain an array of generic type arguments for genericTypeArguments. It is always safe to provide these arguments, even when they are not needed.
Note
Information about metadata tokens can be found in the Common Language Infrastructure (CLI) documentation, especially "Partition II: Metadata Definition and Semantics". For more information, see ECMA 335 Common Language Infrastructure (CLI).
For code that demonstrates token resolution using the generic context (that is, the generic type parameters of the generic type and/or the generic method in which the token is embedded) see the Module.ResolveMethod(Int32, Type[], Type[]) method.