Udostępnij za pośrednictwem


FieldBuilder.SetValue Metoda

Definicja

Ustawia wartość pola obsługiwanego przez dany obiekt.

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)

Parametry

obj
Object

Obiekt, na którym ma być uzyskiwany dostęp do pola.

val
Object

Wartość, która ma zostać przypisana do pola.

invokeAttr
BindingFlags

Element członkowski IBinder określający żądany typ powiązania (na przykład IBinder.CreateInstance, IBinder.ExactBinding).

binder
Binder

Zestaw właściwości i włączanie powiązania, przymusu typów argumentów i wywołania elementów członkowskich przy użyciu odbicia. Jeśli binder ma wartość null, używany jest element IBinder.DefaultBinding.

culture
CultureInfo

Preferencje oprogramowania konkretnej kultury.

Wyjątki

Ta metoda nie jest obsługiwana.

Uwagi

Ta metoda przypisze parametr val do pola odzwierciedlonego przez to wystąpienie w Objectobj. Jeśli pole jest statyczne, obj zostaną zignorowane. W przypadku pól niestacjonanych obj powinno być wystąpieniem klasy dziedziczonej lub deklarujące pole.

Nowa wartość jest przekazywana jako Object. Jeśli na przykład typ pola jest wartością logiczną, zostanie przekazane wystąpienie Object z odpowiednią wartością logiczną. Przed ustawieniem wartości SetValue sprawdza, czy użytkownik ma uprawnienia dostępu.

Ograniczenia dostępu są ignorowane dla w pełni zaufanego kodu. Private konstruktorów, metod, pól i właściwości można uzyskiwać dostęp i wywoływać przy użyciu odbicia zawsze, gdy kod jest w pełni zaufany.

Nuta

Ta metoda nie jest obecnie obsługiwana. Aby obejść ten problem, pobierz FieldInfo, zastanawiając się nad gotowym typem i wywołaniem SetValue, aby ustawić wartość pola.

Dotyczy