次の方法で共有


FieldBuilder.SetValue メソッド (Object, Object, BindingFlags, Binder, CultureInfo)

指定したオブジェクトでサポートされているフィールドの値を設定します。

Overrides Overloads Public Sub SetValue( _
   ByVal obj As Object, _   ByVal val As Object, _   ByVal invokeAttr As BindingFlags, _   ByVal binder As Binder, _   ByVal culture As CultureInfo _)
[C#]
public override void SetValue(objectobj,objectval,BindingFlagsinvokeAttr,Binderbinder,CultureInfoculture);
[C++]
public: void SetValue(Object* obj,Object* val,BindingFlagsinvokeAttr,Binder* binder,CultureInfo* culture);
[JScript]
public override function SetValue(
   obj : Object,val : Object,invokeAttr : BindingFlags,binder : Binder,culture : CultureInfo);

パラメータ

  • obj
    フィールドにアクセスするオブジェクト。
  • val
    フィールドに代入する値。
  • invokeAttr
    使用するバインディングの型を指定する IBinder のメンバ (IBinder.CreateInstance、IBinder.ExactBinding など)。
  • binder
    バインディング、引数型の強制変換、リフレクションを使用したメンバの呼び出しを有効にする一連のプロパティ。バインダが null の場合は、IBinder.DefaultBinding が使用されます。
  • culture
    特定のカルチャに関するソフトウェア上の設定。

例外

例外の種類 条件
NotSupportedException このメソッドはサポートされていません。

解説

このメソッドは、 Object obj のこのインスタンスがリフレクションするフィールドに val パラメータを代入します。フィールドが静的な場合、 obj は無視されます。非静的フィールドの場合、 obj は、そのフィールドを継承または宣言しているクラスのインスタンスであることが必要です。

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

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

メモ   このメソッドは、現在サポートされていません。代替手段としては、終了型にリフレクションして FieldInfo を取得し、 SetValue を呼び出してフィールドの値を設定します。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

FieldBuilder クラス | FieldBuilder メンバ | System.Reflection.Emit 名前空間 | FieldBuilder.SetValue オーバーロードの一覧