ModuleBuilder.ResolveMember(Int32, Type[], Type[]) Метод
Определение
Возвращает тип или член, которые определены заданным токеном метаданных, в контексте, определенном заданными параметрами универсального типа.Returns the type or member identified by the specified metadata token, in the context defined by the specified generic type parameters.
public:
override System::Reflection::MemberInfo ^ ResolveMember(int metadataToken, cli::array <Type ^> ^ genericTypeArguments, cli::array <Type ^> ^ genericMethodArguments);
public override System.Reflection.MemberInfo ResolveMember (int metadataToken, Type[]? genericTypeArguments, Type[]? genericMethodArguments);
public override System.Reflection.MemberInfo ResolveMember (int metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments);
override this.ResolveMember : int * Type[] * Type[] -> System.Reflection.MemberInfo
Public Overrides Function ResolveMember (metadataToken As Integer, genericTypeArguments As Type(), genericMethodArguments As Type()) As MemberInfo
Параметры
- metadataToken
- Int32
токен метаданных, определяющий тип или член в модуле.A metadata token that identifies a type or member in the module.
- genericTypeArguments
- Type[]
Массив объектов Type, представляющих аргументы типа для данного типа, если токен находится в области, либо значение null
, если этот тип не является универсальным.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[]
Массив объектов Type, представляющих аргументы типа для метода, если токен находится в области, либо значение null
, если этот метод не является универсальным.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.
Возвращаемое значение
Объект MemberInfo, представляющий тип члена, который определяется заданным токеном метаданных.A MemberInfo object representing the type or member that is identified by the specified metadata token.
Исключения
Параметр metadataToken
не является маркером для типа или члена в области текущего модуля.metadataToken
is not a token for a type or member in the scope of the current module.
-или--or-
Параметр metadataToken
является объектом MethodSpec
или TypeSpec
, подпись которого содержит сведения о типе элемента var
(параметр типа для универсального типа) или mvar
(параметр типа для универсального метода), а для метода genericTypeArguments
или genericMethodArguments
не предоставлены необходимые аргументы типа.metadataToken
is a MethodSpec
or 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
.
-или--or-
Параметр metadataToken
определяет свойство или событие.metadataToken
identifies a property or event.
Параметр metadataToken
не является допустимым маркером для поля в области текущего модуля.metadataToken
is not a valid token in the scope of the current module.
Комментарии
Используйте Type.GetGenericArguments метод для типа, где metadataToken
находится в области, чтобы получить массив аргументов универсального типа для genericTypeArguments
.Use the Type.GetGenericArguments method on the type where metadataToken
is in scope to obtain an array of generic type arguments for genericTypeArguments
. Используйте MethodInfo.GetGenericArguments метод в методе, где metadataToken
находится в области, чтобы получить массив аргументов универсального типа для 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.
Примечание
Сведения о маркерах метаданных можно найти в документации по Common Language Infrastructure (CLI), особенно в разделе II: определение метаданных и семантика.Information about metadata tokens can be found in the Common Language Infrastructure (CLI) documentation, especially "Partition II: Metadata Definition and Semantics". Документация доступна в Интернете; см. статью Стандарты ECMA C# и Common Language Infrastructure в MSDN и Standard ECMA-335-Common Language Infrastructure (CLI) на веб-сайте ECMA.The documentation is available online; see ECMA C# and Common Language Infrastructure Standards on MSDN and Standard ECMA-335 - Common Language Infrastructure (CLI) on the ECMA Web site.
Для кода, демонстрирующий разрешение маркера с помощью универсального контекста (то есть параметров универсального типа универсального типа и/или универсального метода, в который внедрен маркер), см Module.ResolveMethod(Int32, Type[], Type[]) . метод.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.