FieldBuilder.SetValue 方法

定义

设置给定对象支持的字段的值。

public:
 override void SetValue(System::Object ^ obj, System::Object ^ val, System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, System::Globalization::CultureInfo ^ culture);
public override void SetValue (object? obj, object? val, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder? binder, System.Globalization.CultureInfo? culture);
public override void SetValue (object obj, object val, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Globalization.CultureInfo culture);
override this.SetValue : obj * obj * System.Reflection.BindingFlags * System.Reflection.Binder * System.Globalization.CultureInfo -> unit
Public Overrides Sub SetValue (obj As Object, val As Object, invokeAttr As BindingFlags, binder As Binder, culture As CultureInfo)

参数

obj
Object

在其上访问该字段的对象。

val
Object

要分配给字段的值。

invokeAttr
BindingFlags

指定所需绑定类型的 IBinder 的成员(例如,IBinder.CreateInstance、IBinder.ExactBinding)。

binder
Binder

一组使用反射启用绑定、参数类型强制和成员调用的属性。 如果活页夹为 null,则使用 IBinder.DefaultBinding。

culture
CultureInfo

特定区域性的软件首选项。

例外

不支持此方法。

注解

此方法会将 参数分配给 val 上此实例所反映的 Objectobj字段。 如果字段是静态的, obj 将被忽略。 对于非静态字段, obj 应是继承或声明字段的类的实例。

新值作为 Object传递。 例如,如果字段的类型为 Boolean,则传递具有相应布尔值的 的 实例 Object 。 在设置值之前, SetValue 检查用户是否具有访问权限。

对于完全信任的代码,将忽略访问限制。 Private 每当代码完全受信任时,都可以使用反射访问和调用构造函数、方法、字段和属性。

注意

当前不支持该方法。 解决方法是,通过反映完成的类型来检索 FieldInfo ,并调用 SetValue 来设置 字段的值。

适用于