信息
您所需的主题如下所示。但此主题未包含在此库中。

FieldInfo.SetValue 方法 (Object, Object, BindingFlags, Binder, CultureInfo)

2013/12/13

在派生类中重写时,用对类型转换的指定约束设置字段的值。

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 应用中,只有可访问的字段可通过反射来设置。

此方法将 value 分配给此实例在 obj 上反映的字段。如果该字段是静态的,则将忽略 obj。对于非静态字段,obj 应是继承或声明该字段的类的实例。新值作为 Object 传递。例如,如果字段属于 Boolean 类型,则必须将新值作为 Object 的实例装箱。

版本说明

Windows Phone

 当 objnull 时,SetValue 引发 ArgumentNullException 异常而不是 TargetException 异常。

Windows Phone OS

受以下版本支持: 8.0, 7.1, 7.0

Windows Phone

显示: