TypedReference.MakeTypedReference(Object, FieldInfo[]) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Важно!
Этот API несовместим с CLS.
Создает объект типа TypedReference
для поля, определяемого по указанному объекту и списку описаний полей.
public:
static TypedReference MakeTypedReference(System::Object ^ target, cli::array <System::Reflection::FieldInfo ^> ^ flds);
public static TypedReference MakeTypedReference (object target, System.Reflection.FieldInfo[] flds);
[System.CLSCompliant(false)]
public static TypedReference MakeTypedReference (object target, System.Reflection.FieldInfo[] flds);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
public static TypedReference MakeTypedReference (object target, System.Reflection.FieldInfo[] flds);
static member MakeTypedReference : obj * System.Reflection.FieldInfo[] -> TypedReference
[<System.CLSCompliant(false)>]
static member MakeTypedReference : obj * System.Reflection.FieldInfo[] -> TypedReference
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
static member MakeTypedReference : obj * System.Reflection.FieldInfo[] -> TypedReference
Public Shared Function MakeTypedReference (target As Object, flds As FieldInfo()) As TypedReference
Параметры
- target
- Object
Объект, содержащий поле, описываемое первым элементом параметра flds
.
- flds
- FieldInfo[]
Список описаний полей, каждый элемент которого описывает поле, в котором содержится поле, описываемое следующим элементом. Каждое описываемое поле должно относиться к типу значения. Описания полей должны быть объектами типа RuntimeFieldInfo
, предоставляемыми системой типов.
Возвращаемое значение
Объект типа TypedReference для поля, описываемого последним элементом массива flds
.
- Атрибуты
Исключения
Параметр target
или flds
имеет значение null
.
-или-
Элемент flds
имеет значение null
.
Массив flds
не содержит элементов.
-или-
Элемент flds
не является объектом RuntimeFieldInfo
.
-или-
Свойство IsInitOnly или IsStatic любого элемента flds
имеет значение true
.
Параметр target
не содержит поле, описываемое первым элементом flds
, или элемент flds
описывает поле, которое не содержится в поле, описываемом следующим элементом flds
.
-или-
Поле, описываемое элементом flds
, не является типом значения.
Комментарии
Метод MakeTypedReference возвращает типизованную ссылку на некоторое поле терминала, где target
параметр содержит поле, описанное первым элементом, поле, описываемое первым элементомflds``flds
, содержит поле, описанное вторым элементомflds
, и т. д., пока не будет достигнуто поле терминала.
Примечание
Начиная с версии платформа .NET Framework 2.0 с пакетом обновления 1 (SP1), этот метод можно использовать для доступа к не открытым членам, если вызывающий объект был предоставлен ReflectionPermission с флагомReflectionPermissionFlag.RestrictedMemberAccess, и если набор разрешений недоступных членов ограничен набором предоставления вызывающего объекта или его подмножеством. (См. рекомендации по безопасности для отражения.)
Чтобы использовать эту функцию, приложение должно ориентироваться на платформа .NET Framework 3.5 или более поздней версии.