Type.GetPropertyImpl Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.
El tipo actual es , TypeBuilderEnumBuildero GenericTypeParameterBuilder.
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.InstanceoBindingFlags.Staticpara obtener una devolución.Especifique
BindingFlags.Publicpara incluir propiedades públicas en la búsqueda.Especifique
BindingFlags.NonPublicpara incluir propiedades no públicas (es decir, propiedades privadas, internas y protegidas) en la búsqueda.Especifique
BindingFlags.FlattenHierarchypara incluirpublicyprotectedlos miembros estáticos en la jerarquía;privateno 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.IgnoreCasepara pasar por alto el caso dename.BindingFlags.DeclaredOnlypara 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.