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);
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 ,nullCultureInfo則使用 當前執行緒。
傳回
匹配的場地。
例外狀況
對於預設的綁定器,包含 bindingAttrSetField,且 match 包含多個同樣匹配的 value欄位。 例如,包含 valueMyClass 一個實作介面的 IMyClass 物件,且 match 包含一個型態 MyClass 為 的欄位和一個型別 IMyClass為 的欄位。
對於預設的活頁夾,包含 bindingAttrSetField,且 match 不包含任何可接受 value的欄位。
備註
若 bindingAttr 不包含 BindingFlags.SetField,預設綁定器實作 Type.DefaultBinder 則直接回傳 的 match第一個元素。 沒有進行任何選擇。
此方法控制由 Type.InvokeMember提供的綁定。
如果綁定器實作允許將字串值強制轉換為數值型別, culture 則該參數是將代表 1000 的字串轉換為 Double 值的必要條件,因為 1000 在不同文化中有不同的表示方式。 預設的綁定器不會做這種字串強制。