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 的執行個體 (Instance),用來控制強制型轉型別的繫結器 (Binder) 實作中資料型別的強制型轉 (Coercion)。 如果 culture
為 null
,會使用目前執行緒的 CultureInfo。
傳回
符合的欄位。
例外狀況
如果是預設繫結器,bindingAttr
將包括 SetField,而 match
則包含同樣都與 value
相符的多個欄位。 例如,value
包含 實作 IMyClass
介面的物件,並match
包含 型MyClass
別的欄位和類型的IMyClass
欄位。MyClass
如果是預設繫結器,bindingAttr
將包括 SetField,而 match
則不會包含可以接受 value
的欄位。
如果是預設繫結器,bindingAttr
將包括 SetField,而 match
則會是 null
或空白陣列。
-或-
bindingAttr
將包括 SetField,而 value
則會是 null
。
備註
如果 bindingAttr
不包含 BindingFlags.SetField,則 所提供的預設系結器實 Type.DefaultBinder 作 match
只會傳回 的第一個專案。 未完成選取。
這個方法會控制 所提供的 Type.InvokeMember系結。
如果系結器實作允許將字串值強制轉型為數值類型, culture
則必須將代表 1000 的字串轉換成值,因為 1000 Double 會以不同的文化特性以不同的方式表示。 預設的繫結器不會處理這種字串強制型轉。