Type.GetPropertyImpl Método

Definición

Cuando se reemplaza en una clase derivada, busca la propiedad especificada cuyos parámetros coinciden con los tipos y modificadores de argumento especificados, utilizando las restricciones de enlace especificadas.

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);
[System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicProperties | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicProperties)]
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);
protected abstract System.Reflection.PropertyInfo? GetPropertyImpl(string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, Type? returnType, Type[]? types, System.Reflection.ParameterModifier[]? modifiers);
[<System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicProperties | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicProperties)>]
abstract member GetPropertyImpl : string * System.Reflection.BindingFlags * System.Reflection.Binder * Type * Type[] * System.Reflection.ParameterModifier[] -> System.Reflection.PropertyInfo
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

Parámetros

name
String

Cadena que contiene el nombre de la propiedad que se va a obtener.

bindingAttr
BindingFlags

Combinación bit a bit de los valores de enumeración que especifican cómo se realiza la búsqueda.

O bien

Default para devolver null.

binder
Binder

Objeto que define un conjunto de propiedades y habilita el enlace, que puede implicar la selección de un miembro sobrecargado, la coerción de tipos de argumentos y la invocación de un miembro a través de la reflexión.

O bien

Referencia nula (Nothing en Visual Basic), para usar el DefaultBinder.

returnType
Type

Tipo de valor devuelto de la propiedad .

types
Type[]

Matriz de Type objetos que representan el número, el orden y el tipo de los parámetros de la propiedad indizada que se va a obtener.

O bien

Matriz vacía del tipo Type (es decir, Type[] types = new Type[0]) para obtener una propiedad que no está indizada.

modifiers
ParameterModifier[]

Matriz de ParameterModifier objetos que representan los atributos asociados al elemento correspondiente de la types matriz. El enlazador predeterminado no procesa este parámetro.

Devoluciones

Objeto que representa la propiedad que coincide con los requisitos especificados, si se encuentra; de lo contrario, null.

Atributos

Excepciones

Se encuentra más de una propiedad con el nombre especificado y coincide con las restricciones de enlace especificadas.

name es null.

O bien

types es null.

O bien

Uno de los elementos de types es null.

types es multidimensional.

O bien

modifiers es multidimensional.

O bien

types y modifiers no tienen la misma longitud.

Comentarios

Aunque el enlazador predeterminado no procesa ParameterModifier (el modifiers parámetro ), puede usar la clase abstracta System.Reflection.Binder para escribir un enlazador personalizado que procesa modifiers. ParameterModifier solo se usa cuando se llama mediante la interoperabilidad COM y solo se controlan parámetros que se pasan por referencia.

Las marcas de filtro siguientes BindingFlags se pueden usar para definir qué propiedades se van a incluir en la búsqueda:

  • Debe especificar ya sea BindingFlags.Instance o BindingFlags.Static para obtener una devolución.

  • Especifique BindingFlags.Public para incluir propiedades públicas en la búsqueda.

  • Especifique BindingFlags.NonPublic para incluir propiedades no públicas (es decir, propiedades privadas, internas y protegidas) en la búsqueda.

  • Especifique BindingFlags.FlattenHierarchy para incluir public y protected los miembros estáticos en la jerarquía; private no se incluyen los miembros estáticos de las clases heredadas.

Se pueden usar las marcas modificadores siguientes BindingFlags para cambiar el funcionamiento de la búsqueda:

  • BindingFlags.IgnoreCase para pasar por alto el caso de name.

  • BindingFlags.DeclaredOnly para buscar solo las propiedades declaradas en el Type, no las propiedades que simplemente se heredaron.

Consulte System.Reflection.BindingFlags para obtener más información.

Se aplica a

Consulte también