ModuleBuilder.ResolveField(Int32, Type[], Type[]) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает поле, определяемое указанным маркером метаданных, в контексте, определяемом указанными параметрами универсального типа.
public:
override System::Reflection::FieldInfo ^ ResolveField(int metadataToken, cli::array <Type ^> ^ genericTypeArguments, cli::array <Type ^> ^ genericMethodArguments);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Trimming changes metadata tokens")]
public override System.Reflection.FieldInfo? ResolveField(int metadataToken, Type[]? genericTypeArguments, Type[]? genericMethodArguments);
public override System.Reflection.FieldInfo? ResolveField(int metadataToken, Type[]? genericTypeArguments, Type[]? genericMethodArguments);
public override System.Reflection.FieldInfo ResolveField(int metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Trimming changes metadata tokens")>]
override this.ResolveField : int * Type[] * Type[] -> System.Reflection.FieldInfo
override this.ResolveField : int * Type[] * Type[] -> System.Reflection.FieldInfo
Public Overrides 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).
Код, демонстрирующий разрешение маркеров с помощью универсального контекста (т. е. параметры универсального типа универсального типа и (или) универсального метода, в котором внедрен маркер) см. в этом методе Module.ResolveMethod(Int32, Type[], Type[]) .