Module.ResolveField Метод

Определение

Возвращает поле, определенное заданным токеном метаданных.Returns the field identified by a metadata token.

Перегрузки

ResolveField(Int32)

Возвращает поле, определенное заданным токеном метаданных.Returns the field identified by the specified metadata token.

ResolveField(Int32, Type[], Type[])

Возвращает поле, определенное заданным токеном метаданных, в контексте, определенном заданными параметрами универсального типа.Returns the field identified by the specified metadata token, in the context defined by the specified generic type parameters.

ResolveField(Int32)

Возвращает поле, определенное заданным токеном метаданных.Returns the field identified by the specified metadata token.

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

токен метаданных, определяющий поле в модуле.A metadata token that identifies a field in the module.

Возвращаемое значение

FieldInfo

Объект FieldInfo, представляющий поле, которое определяется заданным токеном метаданных.A FieldInfo object representing the field that is identified by the specified metadata token.

Исключения

Параметр metadataToken не является маркером для поля в области текущего модуля.metadataToken is not a token for a field in the scope of the current module.

-или--or- Параметр metadataToken определяет поле, родительская спецификация TypeSpec которого имеет подпись, содержащую сведения о типе элемента var (параметр типа для универсального типа) или mvar (параметр типа для универсального метода).metadataToken identifies a field whose parent TypeSpec has a signature containing element type var (a type parameter of a generic type) or mvar (a type parameter of a generic method).

Параметр metadataToken не является допустимым маркером для поля в области текущего модуля.metadataToken is not a valid token in the scope of the current module.

Комментарии

Для разрешения маркера метаданных, определяющего поле, у родителя которого TypeSpec есть сигнатура, содержащая тип элемента ELEMENT_TYPE_VAR ELEMENT_TYPE_MVAR , или используйте ResolveField(Int32, Type[], Type[]) перегрузку метода, которая позволяет предоставить необходимый контекст.To resolve a metadata token that identifies a field whose parent TypeSpec has a signature containing element type ELEMENT_TYPE_VAR or ELEMENT_TYPE_MVAR, use the ResolveField(Int32, Type[], Type[]) method overload, which allows you to supply the necessary context. Это значит, что при разрешении маркера метаданных для поля, которое зависит от параметров универсального типа универсального типа и (или) универсального метода, в котором этот маркер внедрен, необходимо использовать перегрузку, которая позволяет указать эти параметры типа.That is, when you are resolving a metadata token for a field that depends on the generic type parameters of the generic type and/or the generic method in which the token is embedded, you must use the overload that allows you to supply those type parameters.

Примечание

Сведения о маркерах метаданных можно найти в документации по 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.

Для кода, демонстрирующий разрешение маркера с помощью универсального контекста (то есть параметров универсального типа универсального типа и/или универсального метода, в который внедрен маркер), см 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 ResolveMethod(Int32, Type[], Type[]) method.

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

ResolveField(Int32, Type[], Type[])

Возвращает поле, определенное заданным токеном метаданных, в контексте, определенном заданными параметрами универсального типа.Returns the field identified by the specified metadata token, in the context defined by the specified generic type parameters.

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

токен метаданных, определяющий поле в модуле.A metadata token that identifies a field 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.

Возвращаемое значение

FieldInfo

Объект FieldInfo, представляющий поле, которое определяется заданным токеном метаданных.A FieldInfo object representing the field that is identified by the specified metadata token.

Исключения

Параметр metadataToken не является маркером для поля в области текущего модуля.metadataToken is not a token for a field in the scope of the current module.

-или--or- Параметр metadataToken определяет поле, родительская спецификация TypeSpec которого имеет подпись, содержащую сведения о типе элемента var (параметр типа для универсального типа) или mvar (параметр типа для универсального метода), а для метода genericTypeArguments или genericMethodArguments не предоставлены необходимые аргументы типа.metadataToken identifies a field whose parent TypeSpec has a signature containing 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 не является допустимым маркером для поля в области текущего модуля.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.

Для кода, демонстрирующий разрешение маркера с помощью универсального контекста (то есть параметров универсального типа универсального типа и/или универсального метода, в который внедрен маркер), см 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 ResolveMethod(Int32, Type[], Type[]) method.

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