ModuleBuilder.ResolveMember(Int32, Type[], Type[]) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает тип или член, которые определены заданным токеном метаданных, в контексте, определенном заданными параметрами универсального типа.
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
токен метаданных, определяющий тип или член в модуле.
- genericTypeArguments
- Type[]
Массив объектов Type, представляющих аргументы типа для данного типа, если токен находится в области, либо значение null
, если этот тип не является универсальным.
- genericMethodArguments
- Type[]
Массив объектов Type, представляющих аргументы типа для метода, если токен находится в области, либо значение null
, если этот метод не является универсальным.
Возвращаемое значение
Объект MemberInfo, представляющий тип члена, который определяется заданным токеном метаданных.
Исключения
Параметр metadataToken
не является маркером для типа или члена в области текущего модуля.
-или-
Параметр metadataToken
является объектом MethodSpec
или TypeSpec
, подпись которого содержит сведения о типе элемента var
(параметр типа для универсального типа) или mvar
(параметр типа для универсального метода), а для метода genericTypeArguments
или genericMethodArguments
не предоставлены необходимые аргументы типа.
-или-
Параметр metadataToken
определяет свойство или событие.
Параметр metadataToken
не является допустимым маркером для поля в области текущего модуля.
Комментарии
Type.GetGenericArguments Используйте метод для типа , где metadataToken
находится в область, чтобы получить массив аргументов универсального типа для genericTypeArguments
.
MethodInfo.GetGenericArguments Используйте метод в методе , где metadataToken
находится в область, чтобы получить массив аргументов универсального типа для genericTypeArguments
. Всегда безопасно предоставлять эти аргументы, даже если они не нужны.
Примечание
Сведения о маркерах метаданных можно найти в документации по общеязыковой инфраструктуре (CLI), в частности в разделе "Раздел II: определение и семантика метаданных". Дополнительные сведения см. в статье ECMA 335 Common Language Infrastructure (CLI).
Код, демонстрирующий разрешение маркеров с помощью универсального контекста (то есть параметры универсального типа универсального типа и /или универсального метода, в который внедрен маркер), см. в этом методе Module.ResolveMethod(Int32, Type[], Type[]) .