Type.GetPropertyImpl Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.
Le type actuel est un TypeBuilder, EnumBuilderou GenericTypeParameterBuilder.
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.InstancesoitBindingFlags.Staticpour obtenir un retour.Spécifiez
BindingFlags.Publicpour inclure les propriétés publiques dans la recherche.Spécifiez
BindingFlags.NonPublicd’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.FlattenHierarchypour inclurepublicetprotectedles membres statiques de la hiérarchie ; les membres statiques des classes héritéesprivatene sont pas inclus.
Les indicateurs de modification suivants BindingFlags peuvent être utilisés pour modifier le fonctionnement de la recherche :
BindingFlags.IgnoreCasepour ignorer le cas dename.BindingFlags.DeclaredOnlypour 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.