Binder.BindToField(BindingFlags, FieldInfo[], Object, CultureInfo) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
基于指定的判据,从给定的字段集中选择一个字段。
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[]
用于匹配的候选字段集。 例如,当 Binder 使用 InvokeMember 对象时,此参数将指定反射已确定为可能匹配项的字段集,通常是因为它们有正确的成员名称。 由 DefaultBinder 提供的默认实现会更改此数组的顺序。
- value
- Object
用于定位匹配字段的字段值。
- culture
- CultureInfo
一个 CultureInfo 实例,用于在强制类型的联编程序实现中控制数据类型强制。 如果 culture
为 null
,则使用当前线程的 CultureInfo。
返回
匹配的字段。
例外
对于默认的联编程序,bindingAttr
包括 SetField,并且 match
包含多个与 value
良好匹配且匹配程度相同的字段。 例如, value
包含实现 MyClass
IMyClass
接口的对象,并 match
包含 类型的 MyClass
字段和 类型的 IMyClass
字段。
对于默认联编程序,bindingAttr
包括 SetField,并且 match
不包含任何可接受 value
的字段。
对于默认联编程序,bindingAttr
包括 SetField,并且 match
为 null
或一个空数组。
- 或 -
bindingAttr
包括 SetField,并且 value
为 null
。
注解
如果 bindingAttr
不包含 BindingFlags.SetField,则提供 Type.DefaultBinder 的默认绑定器实现仅返回 的第 match
一个元素。 未完成任何选择。
此方法控制 提供的 Type.InvokeMember绑定。
如果绑定器实现允许将字符串值强制转换为数值类型, culture
则需要 参数将表示 1000 的字符串转换为 Double 值,因为 1000 由不同区域性表示的方式不同。 默认联编程序不进行此类字符串强制。