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
содержит объект MyClass
, который реализует интерфейс IMyClass
, а объект match
содержит поле типа MyClass
и поле типа IMyClass
.
В связывателе по умолчанию параметр bindingAttr
содержит флаг SetField, а параметр match
не содержит полей, которые могут принимать значение value
.
В связывателе по умолчанию параметр bindingAttr
содержит флаг SetField, а параметр match
имеет значение null
или является пустым массивом.
-или-
Параметр bindingAttr
содержит флаг SetField, а параметр value
имеет значение null
.
Комментарии
Если bindingAttr
не включается BindingFlags.SetField, реализация связывателя по умолчанию, предоставляемая Type.DefaultBinder просто возвращает первый элемент match
. Выделение не выполняется.
Этот метод управляет привязкой, Type.InvokeMemberпредоставленной .
Если реализация связывателя разрешает приведение строковых значений к числовым типам, culture
параметр необходим для преобразования строки, представляющей 1000 Double в значение, так как 1000 представлено по-разному различными языками и региональными параметрами. Связыватель по умолчанию не выполняет подобного преобразования строковых типов.