Binder.BindToField(BindingFlags, FieldInfo[], Object, CultureInfo) 方法

定义

根据指定的条件从给定的字段集中选择一个字段。

public:
 abstract System::Reflection::FieldInfo ^ BindToField(System::Reflection::BindingFlags bindingAttr, cli::array <System::Reflection::FieldInfo ^> ^ match, System::Object ^ value, System::Globalization::CultureInfo ^ culture);
public abstract System.Reflection.FieldInfo BindToField(System.Reflection.BindingFlags bindingAttr, System.Reflection.FieldInfo[] match, object value, System.Globalization.CultureInfo? culture);
public abstract System.Reflection.FieldInfo BindToField(System.Reflection.BindingFlags bindingAttr, System.Reflection.FieldInfo[] match, object value, System.Globalization.CultureInfo culture);
abstract member BindToField : System.Reflection.BindingFlags * System.Reflection.FieldInfo[] * obj * System.Globalization.CultureInfo -> System.Reflection.FieldInfo
Public MustOverride Function BindToField (bindingAttr As BindingFlags, match As FieldInfo(), value As Object, culture As CultureInfo) As FieldInfo

参数

bindingAttr
BindingFlags

值的按位组合 BindingFlags

match
FieldInfo[]

要匹配的字段集。 例如,使用对象BinderInvokeMember,此参数指定反射确定为可能的匹配项的字段集,通常是因为它们具有正确的成员名称。 通过 DefaultBinder 更改此数组的顺序提供的默认实现。

value
Object

用于查找匹配字段的字段值。

culture
CultureInfo

在强制类型的绑定器实现中,该实例 CultureInfo 用于控制数据类型的强制。 culture如果是null,则CultureInfo使用当前线程。

返回

匹配字段。

例外

对于默认联编程序, bindingAttr 包括 SetFieldmatch 包含多个字段,这些字段同样适合 value。 例如, value 包含 MyClass 实现 IMyClass 接口的对象,并 match 包含类型字段 MyClass 和类型的 IMyClass字段。

对于默认绑定器, bindingAttr 包括 SetFieldmatch 不包含任何可以接受 value的字段。

对于默认绑定器, bindingAttr 包括 SetFieldmatchnull 空数组。

-或-

bindingAttr 包括 SetFieldvalue is null

注解

如果未 bindingAttr 包含 BindingFlags.SetField,则默认绑定器实现仅 Type.DefaultBinder 返回第一个元素 match。 未完成选择。

此方法控制由 Type.InvokeMember. 提供的绑定。

如果绑定器实现允许将字符串值强制转换为数值类型, culture 则参数必须将表示 1000 的字符串转换为值 Double ,因为不同的区域性以不同的方式表示 1000。 默认绑定器不执行此类字符串强制。

适用于

另请参阅