共用方式為


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

一組屬性,並啟用系結、強制自變數型別,以及使用反映來叫用成員。 如果 binder 為 null,則會使用 IBinder.DefaultBinding。

culture
CultureInfo

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

例外狀況

不支援這個方法。

備註

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

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

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

注意

目前不支援此方法。 因應措施是透過反映已完成的類型並呼叫 SetValue 來設定字段的值,以擷取 FieldInfo

適用於