Type.GetPropertyImpl Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
При переопределении в производном классе выполняет поиск заданного свойства, параметры которого соответствуют типам и модификаторам заданных аргументов, с использованием заданных ограничений привязки.
protected:
abstract System::Reflection::PropertyInfo ^ GetPropertyImpl(System::String ^ name, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, Type ^ returnType, cli::array <Type ^> ^ types, cli::array <System::Reflection::ParameterModifier> ^ modifiers);
protected abstract System.Reflection.PropertyInfo? GetPropertyImpl(string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, Type? returnType, Type[]? types, System.Reflection.ParameterModifier[]? modifiers);
protected abstract System.Reflection.PropertyInfo GetPropertyImpl(string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, Type returnType, Type[] types, System.Reflection.ParameterModifier[] modifiers);
abstract member GetPropertyImpl : string * System.Reflection.BindingFlags * System.Reflection.Binder * Type * Type[] * System.Reflection.ParameterModifier[] -> System.Reflection.PropertyInfo
Protected MustOverride Function GetPropertyImpl (name As String, bindingAttr As BindingFlags, binder As Binder, returnType As Type, types As Type(), modifiers As ParameterModifier()) As PropertyInfo
Параметры
- name
- String
Строка, содержащий имя искомого свойства.
- bindingAttr
- BindingFlags
Побитовое сочетание значений перечисления, указывающих способ проведения поиска.
-или-
Default для возврата null.
- binder
- Binder
Объект, определяющий набор свойств и разрешающий привязку, что может включать выбор перегруженного члена, приведение типов аргументов и вызов члена с помощью отражения.
-или-
Пустая ссылка (Nothing в Visual Basic) для использования свойства DefaultBinder.
- returnType
- Type
Возвращаемый тип свойства.
- types
- Type[]
Массив объектов Type , предоставляющий число, порядок и тип параметров искомого индексированного свойства.
-или-
Пустой массив объектов типа Type (то есть Type[] types = new Type[0]), если требуется получить неиндексированное свойство.
- modifiers
- ParameterModifier[]
Массив объектов ParameterModifier, представляющих атрибуты, связанные с соответствующим элементом в массиве types. Связыватель по умолчанию не обрабатывает этот параметр.
Возвращаемое значение
Объект, предоставляющий свойство, которое соответствует указанным требованиям, если такое свойство найдено; в противном случае возвращается null.
Исключения
Найдено несколько свойств с указанным именем и соответствующих указанным ограничениям привязки.
name имеет значение null.
-или-
types имеет значение null.
-или-
Один из элементов в types имеет значение null.
Массив types является многомерным.
-или-
Массив modifiers является многомерным.
-или-
types и modifiers имеют разную длину.
Текущий тип — TypeBuilder, EnumBuilder или GenericTypeParameterBuilder.
Комментарии
Хотя связыватель по умолчанию не обрабатывает ParameterModifier ( modifiers параметр ), можно использовать абстрактный System.Reflection.Binder класс для записи пользовательского связывателя, который обрабатывает modifiers.
ParameterModifier используется только при вызове через COM-взаимодействие, и обрабатываются только параметры, передаваемые по ссылке.
BindingFlags Следующие флаги фильтра можно использовать для определения свойств, которые следует включить в поиск:
Для получения возврата необходимо указать или
BindingFlags.InstanceBindingFlags.Static.Укажите
BindingFlags.Public, чтобы включить открытые свойства в поиск.Укажите
BindingFlags.NonPublic, чтобы включить в поиск не являющиеся открытыми свойства (т. е. частные, внутренние и защищенные свойства).Укажите
BindingFlags.FlattenHierarchy, чтобы включитьpublicиprotectedстатические члены вверх по иерархии;privateстатические члены в унаследованных классах не включаются.
Для изменения способа работы поиска можно использовать следующие BindingFlags флаги модификаторов:
BindingFlags.IgnoreCase, чтобы игнорировать регистрname.BindingFlags.DeclaredOnlyдля поиска только свойств, объявленных в Type, а не свойств, которые были просто унаследованы.
Дополнительные сведения см. в разделе System.Reflection.BindingFlags.