次の方法で共有


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

派生クラスによってオーバーライドされた場合、指定したオブジェクトでサポートされているフィールドの値を設定します。

Overloads Public MustOverride Sub SetValue( _
   ByVal obj As Object, _   ByVal value As Object, _   ByVal invokeAttr As BindingFlags, _   ByVal binder As Binder, _   ByVal culture As CultureInfo _)
[C#]
public abstract void SetValue(objectobj,objectvalue,BindingFlagsinvokeAttr,Binderbinder,CultureInfoculture);
[C++]
public: virtual void SetValue(Object* obj,Object* value,BindingFlagsinvokeAttr,Binder* binder,CultureInfo* culture) = 0;
[JScript]
public abstract function SetValue(
   obj : Object,value : Object,invokeAttr : BindingFlags,binder : Binder,culture : CultureInfo);

パラメータ

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

例外

例外の種類 条件
FieldAccessException 呼び出し元に、このフィールドに対するアクセス許可がありません。
TargetException obj パラメータが null 参照 (Visual Basic では Nothing) で、フィールドがインスタンス フィールドです。
ArgumentException フィールドがオブジェクト上に存在しません。

または

value パラメータを変換し、フィールドに格納できません。

解説

このメソッドは、このインスタンスがリフレクションする、 obj のフィールドに value を代入します。フィールドが静的な場合、 obj は無視されます。非静的フィールドの場合、 obj は、そのフィールドを継承または宣言しているクラスのインスタンスであることが必要です。新しい値はオブジェクトとして渡されます。たとえば、フィールドの型が Boolean の場合は、適切なブール値を持つオブジェクトのインスタンスが渡されます。値を設定する前に、 SetValue は、必要なアクセス許可があるかどうかを確認します。

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

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard

.NET Framework セキュリティ:

参照

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