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

屬性集和使用反映以啟用繫結、引數型別 (Argument Type) 的強制和成員引動過程。 如果繫結器 (Binder) 為 Null,則會使用 IBinder.DefaultBinding。

culture
CultureInfo

特定文化特性 (Culture) 的軟體喜好設定。

例外狀況

不支援這個方法。

備註

這個方法會將 參數指派 val 給這個實例在 上 Objectobj反映的欄位。 如果欄位是靜態的, obj 將會忽略。 對於非靜態欄位, obj 應該是繼承或宣告欄位之類別的實例。

新值會傳遞為 Object。 例如,如果欄位的類型是布爾值,則會傳遞具有適當布爾值的 實例 Object 。 設定值之前, SetValue 請先檢查使用者是否具有訪問許可權。

完全信任的程式代碼會忽略存取限制。 Private 只要程序代碼完全信任,就可以使用 Reflection 來存取和叫用建構函式、方法、字段和屬性。

注意

目前不支援這個方法。 因應措施是 FieldInfo ,藉由反映已完成的類型並呼叫 SetValue 來設定欄位的值來擷取 。

適用於