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

2013/12/12

派生クラスでオーバーライドされている場合は、型変換で指定された制約でフィールドの値を設定します。

Namespace:  System.Reflection
アセンブリ:  mscorlib (mscorlib.dll 内)

public abstract void SetValue(
	Object obj,
	Object value,
	BindingFlags invokeAttr,
	Binder binder,
	CultureInfo culture
)

パラメーター

obj
型: System.Object
フィールド値が設定されるオブジェクト。
value
型: System.Object
フィールドに代入する値。
invokeAttr
型: System.Reflection.BindingFlags
使用するバインディングの種類。
binder
型: System.Reflection.Binder
obj へのこのフィールドのバインディング、および value から FieldType への強制変換を有効にするオブジェクト。bindernull の場合、Type.DefaultBinder が使用されます。
culture
型: System.Globalization.CultureInfo
obj から FieldType への強制変換を制御するカルチャ。

例外条件
FieldAccessException

フィールドにアクセスできません。

TargetException

obj パラメーターが null で、フィールドがインスタンス フィールドです。

ArgumentException

フィールドがオブジェクト上に存在しません。

または

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

MethodAccessException

このメンバーは、Type.InvokeMember などの機構を通じて遅延バインディングで呼び出されます。

Windows Phone アプリでは、アクセスできるフィールドのみをリフレクションで設定できます。

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

バージョンについてのメモ

Windows Phone

objnull の場合、SetValue は、TargetException 例外の代わりに ArgumentNullException 例外をスローします。

Windows Phone OS

サポート: 8.0, 7.1, 7.0

表示:
© 2014 Microsoft