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 этого метода используется для управления приведением типов данных в реализации привязчика, которые привязывают типы. В противном culturenullCultureInfo случае используется текущий поток.
Возвращаемое значение
Поле сопоставления.
Исключения
Для привязки 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 представлено по-разному различными языками и региональными параметрами. Привязка по умолчанию не выполняет такие приведения строк.