Module.ResolveField Метод

Определение

Возвращает поле, определяемое маркером метаданных.

Перегрузки

Имя Описание
ResolveField(Int32)

Возвращает поле, определяемое указанным маркером метаданных.

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

Возвращает поле, определяемое указанным маркером метаданных, в контексте, определяемом указанными параметрами универсального типа.

ResolveField(Int32)

Исходный код:
Module.cs
Исходный код:
Module.cs
Исходный код:
Module.cs
Исходный код:
Module.cs
Исходный код:
Module.cs

Возвращает поле, определяемое указанным маркером метаданных.

public:
 System::Reflection::FieldInfo ^ ResolveField(int metadataToken);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Trimming changes metadata tokens")]
public System.Reflection.FieldInfo? ResolveField(int metadataToken);
public System.Reflection.FieldInfo ResolveField(int metadataToken);
public System.Reflection.FieldInfo? ResolveField(int metadataToken);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Trimming changes metadata tokens")>]
member this.ResolveField : int -> System.Reflection.FieldInfo
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[]) перегрузку метода, которая позволяет предоставить необходимый контекст. То есть при разрешении маркера метаданных для поля, зависящее от параметров универсального типа универсального типа и (или) универсального метода, в котором внедрен маркер, необходимо использовать перегрузку, которая позволяет предоставлять эти параметры типа.

Note

Сведения о маркерах метаданных см. в документации по инфраструктуре общего языка (CLI), особенно "Partition II: Определение метаданных и семантика". Дополнительные сведения см. в статье ECMA 335 Common Language Infrastructure (CLI).

Код, демонстрирующий разрешение маркеров с помощью универсального контекста (т. е. параметры универсального типа универсального типа и (или) универсального метода, в котором внедрен маркер) см. в этом методе ResolveMethod(Int32, Type[], Type[]) .

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

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

Исходный код:
Module.cs
Исходный код:
Module.cs
Исходный код:
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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Trimming changes metadata tokens")]
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 virtual System.Reflection.FieldInfo? ResolveField(int metadataToken, Type[]? genericTypeArguments, Type[]? genericMethodArguments);
public System.Reflection.FieldInfo ResolveField(int metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Trimming changes metadata tokens")>]
abstract member ResolveField : int * Type[] * Type[] -> System.Reflection.FieldInfo
override this.ResolveField : int * Type[] * Type[] -> System.Reflection.FieldInfo
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. Всегда безопасно предоставлять эти аргументы, даже если они не нужны.

Note

Сведения о маркерах метаданных см. в документации по инфраструктуре общего языка (CLI), особенно "Partition II: Определение метаданных и семантика". Дополнительные сведения см. в статье ECMA 335 Common Language Infrastructure (CLI).

Код, демонстрирующий разрешение маркеров с помощью универсального контекста (т. е. параметры универсального типа универсального типа и (или) универсального метода, в котором внедрен маркер) см. в этом методе ResolveMethod(Int32, Type[], Type[]) .

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