FieldBuilder.SetValue Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.