Type.GetPropertyImpl(String, BindingFlags, Binder, Type, Type[], ParameterModifier[]) Метод

Определение

При переопределении в производном классе выполняет поиск заданного свойства, параметры которого соответствуют типам и модификаторам заданных аргументов, с использованием заданных ограничений привязки.When overridden in a derived class, searches for the specified property whose parameters match the specified argument types and modifiers, using the specified binding constraints.

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);
abstract member GetPropertyImpl : string * System.Reflection.BindingFlags * System.Reflection.Binder * Type * Type[] * System.Reflection.ParameterModifier[] -> System.Reflection.PropertyInfo

Параметры

name
String

Строка, содержащий имя искомого свойства.The string containing the name of the property to get.

bindingAttr
BindingFlags

Побитовое сочетание значений перечисления, указывающих способ проведения поиска.A bitwise combination of the enumeration values that specify how the search is conducted.

-или--or- Default для возврата null.Default to return null.

binder
Binder

Объект, определяющий набор свойств и разрешающий привязку, что может включать выбор перегруженного члена, приведение типов аргументов и вызов члена с помощью отражения.An object that defines a set of properties and enables binding, which can involve selection of an overloaded member, coercion of argument types, and invocation of a member through reflection.

-или--or- Пустая ссылка (Nothing в Visual Basic) для использования свойства DefaultBinder.A null reference (Nothing in Visual Basic), to use the DefaultBinder.

returnType
Type

Возвращаемый тип свойства.The return type of the property.

types
Type[]

Массив объектов Type, предоставляющий число, порядок и тип параметров искомого индексированного свойства.An array of Type objects representing the number, order, and type of the parameters for the indexed property to get.

-или--or- Пустой массив объектов типа Type (то есть Type[] types = new Type[0]), если требуется получить неиндексированное свойство.An empty array of the type Type (that is, Type[] types = new Type[0]) to get a property that is not indexed.

modifiers
ParameterModifier[]

Массив объектов ParameterModifier, представляющих атрибуты, связанные с соответствующим элементом в массиве types.An array of ParameterModifier objects representing the attributes associated with the corresponding element in the types array. Связыватель по умолчанию не обрабатывает этот параметр.The default binder does not process this parameter.

Возвращаемое значение

Объект, предоставляющий свойство, которое соответствует указанным требованиям, если такое свойство найдено; в противном случае возвращается null.An object representing the property that matches the specified requirements, if found; otherwise, null.

Исключения

Найдено несколько свойств с указанным именем и соответствующих указанным ограничениям привязки.More than one property is found with the specified name and matching the specified binding constraints.

Свойство name имеет значение null.name is null.

-или--or- Свойство types имеет значение null.types is null.

-или--or- Один из элементов в types имеет значение null.One of the elements in types is null.

Массив types является многомерным.types is multidimensional.

-или--or- Массив modifiers является многомерным.modifiers is multidimensional.

-или--or- types и modifiers имеют разную длину.types and modifiers do not have the same length.

Комментарии

Хотя связыватель по умолчанию не обрабатывает ParameterModifier (параметр modifiers), можно использовать абстрактный System.Reflection.Binder класс для написания пользовательского связывателя, который обрабатывает modifiers.Although the default binder does not process ParameterModifier (the modifiers parameter), you can use the abstract System.Reflection.Binder class to write a custom binder that does process modifiers. ParameterModifier используется только при вызове через COM-взаимодействие, и обрабатываются только параметры, передаваемые по ссылке.ParameterModifier is only used when calling through COM interop, and only parameters that are passed by reference are handled.

Для определения свойств, включаемых в поиск, можно использовать следующие флаги фильтра BindingFlags.The following BindingFlags filter flags can be used to define which properties to include in the search:

  • Чтобы получить возвращаемое значение, необходимо указать либо BindingFlags.Instance, либо BindingFlags.Static.You must specify either BindingFlags.Instance or BindingFlags.Static in order to get a return.

  • Укажите BindingFlags.Public, чтобы включить в поиск открытые свойства.Specify BindingFlags.Public to include public properties in the search.

  • Укажите BindingFlags.NonPublic, чтобы включить в поиск не являющиеся общими свойства (т. е. частные, внутренние и защищенные).Specify BindingFlags.NonPublic to include non-public properties (that is, private, internal, and protected properties) in the search.

  • Укажите BindingFlags.FlattenHierarchy, чтобы включить public и protected статические элементы в иерархии. private статические члены в унаследованных классах не включены.Specify BindingFlags.FlattenHierarchy to include public and protected static members up the hierarchy; private static members in inherited classes are not included.

Для изменения работы поиска можно использовать следующие флаги модификатора BindingFlags.The following BindingFlags modifier flags can be used to change how the search works:

  • BindingFlags.IgnoreCase, чтобы игнорировать регистр name.BindingFlags.IgnoreCase to ignore the case of name.

  • BindingFlags.DeclaredOnly искать только свойства, объявленные в Type, а не свойства, которые были просто унаследованы.BindingFlags.DeclaredOnly to search only the properties declared on the Type, not properties that were simply inherited.

Дополнительные сведения см. в разделе System.Reflection.BindingFlags.See System.Reflection.BindingFlags for more information.

Применяется к

Дополнительно