Type.GetPropertyImpl Méthode

Définition

En cas de substitution dans une classe dérivée, recherche la propriété spécifiée dont les paramètres correspondent aux types et modificateurs d’argument spécifiés, à l’aide des contraintes de liaison spécifiées.

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

Paramètres

name
String

Chaîne contenant le nom de la propriété à obtenir.

bindingAttr
BindingFlags

Combinaison de bits des valeurs d’énumération qui spécifient la façon dont la recherche est effectuée.

- ou -

Default pour retourner null.

binder
Binder

Objet qui définit un ensemble de propriétés et active la liaison, qui peut impliquer la sélection d’un membre surchargé, la contrainte des types d’arguments et l’appel d’un membre via la réflexion.

- ou -

Référence Null (Nothing dans Visual Basic), pour utiliser le DefaultBinder.

returnType
Type

Type de retour de la propriété.

types
Type[]

Tableau d’objets Type représentant le nombre, l’ordre et le type des paramètres de la propriété indexée à obtenir.

- ou -

Tableau vide du type Type (autrement dit, Types[] = new Type[0]) pour obtenir une propriété qui n’est pas indexée.

modifiers
ParameterModifier[]

Tableau d’objets ParameterModifier représentant les attributs associés à l’élément correspondant dans le types tableau. Le classeur par défaut ne traite pas ce paramètre.

Retours

Objet représentant la propriété qui correspond aux exigences spécifiées, s’il est trouvé ; sinon, null.

Attributs

Exceptions

Plusieurs propriétés se trouvent avec le nom spécifié et correspondent aux contraintes de liaison spécifiées.

name a la valeur null.

- ou -

types a la valeur null.

- ou -

L’un des éléments dans types est null.

types est multidimensionnel.

- ou -

modifiers est multidimensionnel.

- ou -

types et modifiers n’ont pas la même longueur.

Remarques

Bien que le classeur par défaut ne traite ParameterModifier pas (le modifiers paramètre), vous pouvez utiliser la classe abstraite System.Reflection.Binder pour écrire un classeur personnalisé qui traite modifiers. ParameterModifier est utilisé uniquement lors de l’appel via l’interopérabilité COM, et seuls les paramètres passés par référence sont gérés.

Les indicateurs de filtre suivants BindingFlags peuvent être utilisés pour définir les propriétés à inclure dans la recherche :

  • Vous devez spécifier soit BindingFlags.Instance soit BindingFlags.Static pour obtenir un retour.

  • Spécifiez BindingFlags.Public pour inclure les propriétés publiques dans la recherche.

  • Spécifiez BindingFlags.NonPublic d’inclure des propriétés non publiques (c’est-à-dire des propriétés privées, internes et protégées) dans la recherche.

  • Spécifiez BindingFlags.FlattenHierarchy pour inclure public et protected les membres statiques de la hiérarchie ; les membres statiques des classes héritées private ne sont pas inclus.

Les indicateurs de modification suivants BindingFlags peuvent être utilisés pour modifier le fonctionnement de la recherche :

  • BindingFlags.IgnoreCase pour ignorer le cas de name.

  • BindingFlags.DeclaredOnly pour rechercher uniquement les propriétés déclarées sur le Type, et non les propriétés qui ont été simplement héritées.

Pour plus d’informations, consultez System.Reflection.BindingFlags.

S’applique à

Voir aussi