导出 (0) 打印
全部展开
信息
您所需的主题如下所示。但此主题未包含在此库中。

PropertyInfo.SetValue 方法 (Object, Object, BindingFlags, Binder, Object[], CultureInfo)

2013/12/13

当在派生类中重写时,将给定对象的该属性值设置为给定值,遵循指定的绑定约束、联编程序和区域性。

Namespace:  System.Reflection
程序集:  mscorlib(位于 mscorlib.dll 中)

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

参数

obj
类型: System.Object
将设置其属性值的对象。
value
类型: System.Object
此属性的新值。
invokeAttr
类型: System.Reflection.BindingFlags
调用特性。这必须是来自 BindingFlags 的位标志:InvokeMethodCreateInstanceStaticGetFieldSetFieldGetPropertySetProperty。必须指定合适的调用特性。如果要调用静态成员,则必须设置 BindingFlagsStatic 标志。
binder
类型: System.Reflection.Binder
一个对象,它启用绑定、对参数类型的强制、对成员的调用,以及通过反射对 MemberInfo 对象的检索。如果 bindernull,则使用默认联编程序。
index
类型: System.Object []
索引化属性的可选索引值。对于非索引化属性,该值应为 null
culture
类型: System.Globalization.CultureInfo
要针对其本地化资源的区域性。请注意,如果没有为此区域性本地化该资源,则在搜索匹配项的过程中将继续调用 CultureInfo.Parent 方法。如果该值为 null,则从 CultureInfo.CurrentUICulture 属性获得 CultureInfo

异常条件
ArgumentException

index 数组不包含所需类型的参数。

- 或 -

未找到该属性的 set 访问器。

TargetException

该对象与目标类型不匹配,或者某属性是实例属性但 objnull

TargetParameterCountException

index 中参数的数目与已编制索引的属性所采用的参数的数目不相符。

MethodAccessException

调用方无权访问该属性。

TargetInvocationException

设置属性值时出错。例如,为索引属性指定的索引值超出范围。InnerException 属性指示错误的原因。

要确定是否对属性编制了索引,请使用 GetIndexParameters 方法。如果结果数组有 0(零)元素,则不会对属性编制索引。

在 Windows Phone 中,只有可访问的属性可通过反射来设置。

若要使用 SetValue 方法,请先获取类 Type。从 Type 获取 PropertyInfo。从 PropertyInfo 使用 SetValue 方法。

Windows Phone OS

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

Windows Phone

显示:
© 2014 Microsoft