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[]) .

Применяется к