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, который используется для управления приведения типов данных в реализациях связывателя, выполняющих приведение типов. Если параметр 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, в Double значение, так как значение 1000 по-разному представлено разными языками и региональными параметрами. Связыватель по умолчанию не выполняет подобного преобразования строковых типов.