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[]

可能相符的欄位集合。 例如,當 Binder 使用 InvokeMember 物件時,這個參數就會指定已由反映判定為可能相符的欄位集合,通常是因為這些欄位具有正確的成員名稱。 DefaultBinder 所提供的預設實作會變更此陣列的順序。

value
Object

用來找出相符欄位的欄位值。

culture
CultureInfo

CultureInfo 的執行個體 (Instance),用來控制強制型轉型別的繫結器 (Binder) 實作中資料型別的強制型轉 (Coercion)。 如果 culturenull,會使用目前執行緒的 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.DefaultBindermatch只會傳回 的第一個專案。 未完成選取。

這個方法會控制 所提供的 Type.InvokeMember系結。

如果系結器實作允許將字串值強制轉型為數值類型, culture 則必須將代表 1000 的字串轉換成值,因為 1000 Double 會以不同的文化特性以不同的方式表示。 預設的繫結器不會處理這種字串強制型轉。

適用於

另請參閱