Module.ResolveField Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает поле, определенное заданным токеном метаданных.
Перегрузки
ResolveField(Int32) |
Возвращает поле, определенное заданным токеном метаданных. |
ResolveField(Int32, Type[], Type[]) |
Возвращает поле, определенное заданным токеном метаданных, в контексте, определенном заданными параметрами универсального типа. |
ResolveField(Int32)
- Исходный код:
- Module.cs
- Исходный код:
- Module.cs
- Исходный код:
- Module.cs
Возвращает поле, определенное заданным токеном метаданных.
public:
System::Reflection::FieldInfo ^ ResolveField(int metadataToken);
public System.Reflection.FieldInfo? ResolveField (int metadataToken);
public System.Reflection.FieldInfo ResolveField (int metadataToken);
member this.ResolveField : int -> System.Reflection.FieldInfo
Public Function ResolveField (metadataToken As Integer) As FieldInfo
Параметры
- metadataToken
- Int32
токен метаданных, определяющий поле в модуле.
Возвращаемое значение
Объект FieldInfo, представляющий поле, которое определяется заданным токеном метаданных.
Исключения
Параметр metadataToken
не является маркером для поля в области текущего модуля.
-или-
Параметр metadataToken
определяет поле, родительская спецификация TypeSpec
которого имеет подпись, содержащую сведения о типе элемента var
(параметр типа для универсального типа) или mvar
(параметр типа для универсального метода).
Параметр metadataToken
не является допустимым маркером для поля в области текущего модуля.
Комментарии
Чтобы разрешить маркер метаданных, идентифицирующий поле, родительский TypeSpec
элемент которого содержит сигнатуру, содержащую тип ELEMENT_TYPE_VAR
элемента или ELEMENT_TYPE_MVAR
, используйте перегрузку ResolveField(Int32, Type[], Type[]) метода, которая позволяет предоставить необходимый контекст. То есть при разрешении маркера метаданных для поля, зависящее от параметров универсального типа универсального типа и (или) универсального метода, в который внедрен маркер, необходимо использовать перегрузку, позволяющую предоставлять эти параметры типа.
Примечание
Сведения о маркерах метаданных можно найти в документации по общеязыковой инфраструктуре (CLI), в частности в разделе "Раздел II: определение и семантика метаданных". Дополнительные сведения см. в разделе ECMA 335 COMMON Language Infrastructure (CLI).
Код, демонстрирующий разрешение маркеров с помощью универсального контекста (то есть параметров универсального типа универсального типа и (или) универсального метода, в который внедрен маркер), см. в этом методе ResolveMethod(Int32, Type[], Type[]) .
Применяется к
ResolveField(Int32, Type[], Type[])
- Исходный код:
- Module.cs
- Исходный код:
- Module.cs
- Исходный код:
- Module.cs
Возвращает поле, определенное заданным токеном метаданных, в контексте, определенном заданными параметрами универсального типа.
public:
virtual System::Reflection::FieldInfo ^ ResolveField(int metadataToken, cli::array <Type ^> ^ genericTypeArguments, cli::array <Type ^> ^ genericMethodArguments);
public:
System::Reflection::FieldInfo ^ ResolveField(int metadataToken, cli::array <Type ^> ^ genericTypeArguments, cli::array <Type ^> ^ genericMethodArguments);
public virtual System.Reflection.FieldInfo? ResolveField (int metadataToken, Type[]? genericTypeArguments, Type[]? genericMethodArguments);
public virtual System.Reflection.FieldInfo ResolveField (int metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments);
public System.Reflection.FieldInfo ResolveField (int metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments);
abstract member ResolveField : int * Type[] * Type[] -> System.Reflection.FieldInfo
override this.ResolveField : int * Type[] * Type[] -> System.Reflection.FieldInfo
member this.ResolveField : int * Type[] * Type[] -> System.Reflection.FieldInfo
Public Overridable Function ResolveField (metadataToken As Integer, genericTypeArguments As Type(), genericMethodArguments As Type()) As FieldInfo
Public Function ResolveField (metadataToken As Integer, genericTypeArguments As Type(), genericMethodArguments As Type()) As FieldInfo
Параметры
- metadataToken
- Int32
токен метаданных, определяющий поле в модуле.
- genericTypeArguments
- Type[]
Массив объектов Type, представляющих аргументы типа для данного типа, если токен находится в области, либо значение null
, если этот тип не является универсальным.
- genericMethodArguments
- Type[]
Массив объектов Type, представляющих аргументы типа для метода, если токен находится в области, либо значение null
, если этот метод не является универсальным.
Возвращаемое значение
Объект FieldInfo, представляющий поле, которое определяется заданным токеном метаданных.
Исключения
Параметр metadataToken
не является маркером для поля в области текущего модуля.
-или-
Параметр metadataToken
определяет поле, родительская спецификация TypeSpec
которого имеет подпись, содержащую сведения о типе элемента var
(параметр типа для универсального типа) или mvar
(параметр типа для универсального метода), а для метода genericTypeArguments
или genericMethodArguments
не предоставлены необходимые аргументы типа.
Параметр metadataToken
не является допустимым маркером для поля в области текущего модуля.
Комментарии
Type.GetGenericArguments Используйте метод для типа , где metadataToken
находится в область, чтобы получить массив аргументов универсального типа для genericTypeArguments
. MethodInfo.GetGenericArguments Используйте метод в методе , где metadataToken
находится в область, чтобы получить массив аргументов универсального типа для genericTypeArguments
. Всегда безопасно предоставлять эти аргументы, даже если они не нужны.
Примечание
Сведения о маркерах метаданных можно найти в документации по общеязыковой инфраструктуре (CLI), в частности в разделе "Раздел II: определение и семантика метаданных". Дополнительные сведения см. в разделе ECMA 335 COMMON Language Infrastructure (CLI).
Код, демонстрирующий разрешение маркеров с помощью универсального контекста (то есть параметров универсального типа универсального типа и (или) универсального метода, в который внедрен маркер), см. в этом методе ResolveMethod(Int32, Type[], Type[]) .