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

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

culture
CultureInfo

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

例外

不支持此方法。

注解

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

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

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

注意

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

适用于