次の方法で共有


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.CreateInstance、IBinder.ExactBinding など) を指定する IBinder のメンバー。

binder
Binder

バインディング、引数型の強制変換、およびリフレクションを使用したメンバーの呼び出しを有効にする一連のプロパティ。 バインダーが null の場合は、IBinder.DefaultBinding が使用されます。

culture
CultureInfo

特定のカルチャのソフトウェアの好み。

例外

このメソッドはサポートされていません。

注釈

このメソッドは、Objectobjのこのインスタンスによって反映されるフィールドに val パラメーターを割り当てます。 フィールドが静的な場合、obj は無視されます。 非静的フィールドの場合、obj は、フィールドを継承または宣言するクラスのインスタンスである必要があります。

新しい値は、Objectとして渡されます。 たとえば、フィールドの型が Boolean の場合、適切なブール値を持つ Object のインスタンスが渡されます。 値を設定する前に、SetValue はユーザーがアクセス許可を持っているかどうかを確認します。

完全に信頼されたコードでは、アクセス制限は無視されます。 Private コンストラクター、メソッド、フィールド、およびプロパティは、コードが完全に信頼されるたびに Reflection を使用してアクセスおよび呼び出すことができます。

手記

このメソッドは現在サポートされていません。 回避策として、完了した型を反映して FieldInfo を取得し、SetValue を呼び出してフィールドの値を設定します。

適用対象