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);
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 用來控制資料型別的強制,特別是在強制型別的綁定器實作中。 若 culturenullCultureInfo則使用 當前執行緒。

傳回

匹配的場地。

例外狀況

對於預設的綁定器,包含 bindingAttrSetField,且 match 包含多個同樣匹配的 value欄位。 例如,包含 valueMyClass 一個實作介面的 IMyClass 物件,且 match 包含一個型態 MyClass 為 的欄位和一個型別 IMyClass為 的欄位。

對於預設的活頁夾,包含 bindingAttrSetField,且 match 不包含任何可接受 value的欄位。

預設綁定器中,包含 bindingAttrSetFieldmatch 和 是 null 空陣列。

-或者-

bindingAttr 包含 SetField,且 valuenull

備註

bindingAttr 不包含 BindingFlags.SetField,預設綁定器實作 Type.DefaultBinder 則直接回傳 的 match第一個元素。 沒有進行任何選擇。

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

如果綁定器實作允許將字串值強制轉換為數值型別, culture 則該參數是將代表 1000 的字串轉換為 Double 值的必要條件,因為 1000 在不同文化中有不同的表示方式。 預設的綁定器不會做這種字串強制。

適用於

另請參閱