Sdílet prostřednictvím


FieldBuilder.SetValue Metoda

Definice

Nastaví hodnotu pole podporovaného daným objektem.

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

Objekt, na kterém chcete získat přístup k poli.

val
Object

Hodnota, která se má přiřadit k poli.

invokeAttr
BindingFlags

Člen IBinder, který určuje typ vazby, která je požadovaná (například IBinder.CreateInstance, IBinder.ExactBinding).

binder
Binder

Sada vlastností a povolení vazby, převodu typů argumentů a vyvolání členů pomocí reflexe. Pokud je binder null, použije se IBinder.DefaultBinding.

culture
CultureInfo

Předvolby softwaru konkrétní jazykové verze.

Výjimky

Tato metoda není podporována.

Poznámky

Tato metoda přiřadí parametr val k poli, které tato instance odráží v Objectobj. Pokud je pole statické, obj budou ignorovány. Pro nestatická pole by obj měla být instance třídy, která dědí nebo deklaruje pole.

Nová hodnota se předává jako Object. Pokud je například typ pole logická hodnota, předá se instance Object s příslušnou logickou hodnotou. Před nastavením hodnoty SetValue zkontroluje, jestli má uživatel přístupové oprávnění.

Omezení přístupu se ignorují pro plně důvěryhodný kód. Private konstruktory, metody, pole a vlastnosti lze přistupovat a vyvolat pomocí reflexe, kdykoli je kód plně důvěryhodný.

Poznámka

Tato metoda se v současné době nepodporuje. Jako alternativní řešení načtěte FieldInfo tak, že se promítnou do dokončeného typu a zavoláním SetValue nastavíte hodnotu pole.

Platí pro