Type.GetPropertyImpl(String, BindingFlags, Binder, Type, Type[], ParameterModifier[]) Type.GetPropertyImpl(String, BindingFlags, Binder, Type, Type[], ParameterModifier[]) Type.GetPropertyImpl(String, BindingFlags, Binder, Type, Type[], ParameterModifier[]) Method

Определение

При переопределении в производном классе выполняет поиск заданного свойства, параметры которого соответствуют типам и модификаторам заданных аргументов, с использованием заданных ограничений привязки.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 String String

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

bindingAttr
BindingFlags BindingFlags BindingFlags

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

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

binder
Binder 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 Type 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.

namenull.name is null.

-или--or- typesnull.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.

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

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