FieldInfo.SetValue Method (Object, Object, BindingFlags, Binder, CultureInfo)
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
When overridden in a derived class, sets the value of the field with the specified constraints on type conversion.
Assembly: mscorlib (in mscorlib.dll)
public abstract void SetValue( Object obj, Object value, BindingFlags invokeAttr, Binder binder, CultureInfo culture )
Parameters
- obj
- Type: System.Object
The object whose field value will be set.
- value
- Type: System.Object
The value to assign to the field.
- invokeAttr
- Type: System.Reflection.BindingFlags
The type of binding that is desired.
- binder
- Type: System.Reflection.Binder
An object that enables the binding of this field to obj and the coercion of value to FieldType. If binder is null, then Type.DefaultBinder is used.
- culture
- Type: System.Globalization.CultureInfo
The culture that controls the coercion of obj to FieldType.
| Exception | Condition |
|---|---|
| FieldAccessException | The field is not accessible. |
| TargetException | The obj parameter is null and the field is an instance field. |
| ArgumentException | The field does not exist on the object. -or- The value parameter cannot be converted and stored in the field. |
| MethodAccessException | The member is invoked late-bound through mechanisms such as Type.InvokeMember. |
In Windows Phone apps, only accessible fields can be set using reflection.
This method will assign value to the field reflected by this instance on obj. If the field is static, obj will be ignored. For nonstatic fields, obj should be an instance of a class that inherits or declares the field. The new value is passed as an Object. For example, if the field is of type Boolean, the new value must be boxed as an instance of Object.
Version Notes
Windows Phone
SetValue throws an ArgumentNullException exception instead of a TargetException exception when obj is null.