Поделиться через


FieldBuilder.SetValue Метод

Определение

Задает значение поля, поддерживаемого заданным объектом.

public:
 override void SetValue(System::Object ^ obj, System::Object ^ val, System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, System::Globalization::CultureInfo ^ culture);
public override void SetValue (object? obj, object? val, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder? binder, System.Globalization.CultureInfo? culture);
public override void SetValue (object obj, object val, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Globalization.CultureInfo culture);
override this.SetValue : obj * obj * System.Reflection.BindingFlags * System.Reflection.Binder * System.Globalization.CultureInfo -> unit
Public Overrides Sub SetValue (obj As Object, val As Object, invokeAttr As BindingFlags, binder As Binder, culture As CultureInfo)

Параметры

obj
Object

Объект, на котором требуется получить доступ к полю.

val
Object

Значение, которое нужно назначить полю.

invokeAttr
BindingFlags

Элемент IBinder, указывающий тип требуемой привязки (например, IBinder.CreateInstance, IBinder.ExactBinding).

binder
Binder

Набор свойств и включение привязки, приведения типов аргументов и вызова элементов с помощью отражения. Если привязка имеет значение NULL, используется IBinder.DefaultBinding.

culture
CultureInfo

Параметры программного обеспечения определенного языка и региональных параметров.

Исключения

Этот метод не поддерживается.

Комментарии

Этот метод назначит параметру val поле, отраженное этим экземпляром в Objectobj. Если поле является статическим, obj будет игнорироваться. Для нестатических полей obj должен быть экземпляром класса, наследующего или объявляющего поле.

Новое значение передается в виде Object. Например, если тип поля является логическим, передается экземпляр Object с соответствующим логическим значением. Прежде чем задать значение, SetValue проверяет, имеет ли пользователь разрешение на доступ.

Ограничения доступа игнорируются для полностью доверенного кода. Private конструкторы, методы, поля и свойства могут быть доступны и вызываться с помощью отражения всякий раз, когда код полностью доверяется.

Заметка

Этот метод в настоящее время не поддерживается. В качестве обходного решения получите FieldInfo, отражая готовый тип и вызывая SetValue, чтобы задать значение поля.

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