Lire en anglais

Partager via


Type.GetProperty Méthode

Définition

Obtient une propriété spécifique du Type actuel.

Surcharges

GetProperty(String, BindingFlags, Binder, Type, Type[], ParameterModifier[])

Recherche la propriété spécifiée dont les paramètres correspondent aux types d’arguments et aux modificateurs spécifiés, en utilisant les contraintes de liaison indiquées.

GetProperty(String, Type, Type[], ParameterModifier[])

Recherche la propriété publique spécifiée dont les paramètres correspondent aux types d'arguments et modificateurs spécifiés.

GetProperty(String, Type[])

Recherche la propriété publique spécifiée dont les paramètres correspondent aux types d’arguments spécifiés.

GetProperty(String, Type, Type[])

Recherche la propriété publique spécifiée dont les paramètres correspondent aux types d’arguments spécifiés.

GetProperty(String, BindingFlags)

Recherche la propriété spécifiée, à l'aide des contraintes de liaison spécifiées.

GetProperty(String)

Recherche la propriété publique avec le nom spécifié.

GetProperty(String, Type)

Recherche la propriété publique à l'aide du nom et du type de retour spécifiés.

GetProperty(String, BindingFlags, Binder, Type, Type[], ParameterModifier[])

Source:
Type.cs
Source:
Type.cs
Source:
Type.cs

Recherche la propriété spécifiée dont les paramètres correspondent aux types d’arguments et aux modificateurs spécifiés, en utilisant les contraintes de liaison indiquées.

C#
public System.Reflection.PropertyInfo? GetProperty (string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, Type? returnType, Type[] types, System.Reflection.ParameterModifier[]? modifiers);
C#
public System.Reflection.PropertyInfo GetProperty (string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, Type returnType, Type[] types, System.Reflection.ParameterModifier[] modifiers);

Paramètres

name
String

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

bindingAttr
BindingFlags

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

- ou -

Default pour retourner null.

binder
Binder

Objet qui définit un ensemble de propriétés et permet la liaison, ce qui peut impliquer la sélection d'une méthode surchargée, la contrainte de types d'arguments et l'appel d'un membre par la réflexion.

- ou -

Référence null (Nothing en Visual Basic) pour utiliser 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 (c'est-à-dire Type[] 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 tableau types. Le binder par défaut ne traite pas ce paramètre.

Retours

Objet représentant la propriété qui correspond aux critères spécifiés, si elle est trouvée ; sinon, null.

Implémente

Exceptions

Au moins deux propriétés portent le nom spécifié et correspondent aux contraintes de liaison spécifiées.

name a la valeur null.

-ou-

types a la valeur null.

types est multidimensionnel.

- ou -

modifiers est multidimensionnel.

- ou -

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

Un élément de types est null.

Remarques

Pour plus d’informations sur cette API, consultez Remarques supplémentaires sur l’API pour Type.GetProperty.

Voir aussi

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

GetProperty(String, Type, Type[], ParameterModifier[])

Source:
Type.cs
Source:
Type.cs
Source:
Type.cs

Recherche la propriété publique spécifiée dont les paramètres correspondent aux types d'arguments et modificateurs spécifiés.

C#
public System.Reflection.PropertyInfo? GetProperty (string name, Type? returnType, Type[] types, System.Reflection.ParameterModifier[]? modifiers);
C#
public System.Reflection.PropertyInfo GetProperty (string name, Type returnType, Type[] types, System.Reflection.ParameterModifier[] modifiers);

Paramètres

name
String

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

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 (c'est-à-dire Type[] 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 tableau types. Le binder par défaut ne traite pas ce paramètre.

Retours

Objet qui représente la propriété publique correspondant aux exigences spécifiées, si elle est trouvée ; sinon, null.

Implémente

Exceptions

Au moins deux propriétés portent le nom spécifié et correspondent aux types et modificateurs d’arguments spécifiés.

name a la valeur null.

-ou-

types a la valeur null.

types est multidimensionnel.

- ou -

modifiers est multidimensionnel.

- ou -

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

Un élément de types est null.

Exemples

L’exemple suivant obtient un Type objet correspondant à MyPropertyClass, et la propriété indexée de cette classe est récupérée à l’aide des arguments passés à la GetProperty méthode .

C#
using System;
using System.Reflection;

public class MyPropertyClass
{
    private readonly int [,] _myPropertyArray = new int[10,10];
    // Declare an indexer.
    public int this [int i,int j]
    {
        get
        {
            return _myPropertyArray[i,j];
        }
        set
        {
            _myPropertyArray[i,j] = value;
        }
    }
}

public class MyTypeClass
{
    public static void Main()
    {
        try
        {
            Type myType=typeof(MyPropertyClass);
            Type[] myTypeArray = new Type[2];

            // Create an instance of the Type array representing the number, order
            // and type of the parameters for the property.
            myTypeArray.SetValue(typeof(int),0);
            myTypeArray.SetValue(typeof(int),1);

            // Search for the indexed property whose parameters match the
            // specified argument types and modifiers.
            PropertyInfo myPropertyInfo = myType.GetProperty("Item",
                typeof(int),myTypeArray,null);
            Console.WriteLine(myType.FullName + "." + myPropertyInfo.Name +
                " has a property type of " + myPropertyInfo.PropertyType);
         }
        catch(Exception ex)
        {
            Console.WriteLine("An exception occurred " + ex.Message);
        }
    }
}

Remarques

Une propriété est considérée comme publique à réfléchir si elle a au moins un accesseur public. Sinon, la propriété est considérée comme privée et vous devez utiliser BindingFlags.NonPublic | | BindingFlags.InstanceBindingFlags.Static (en Visual Basic, combiner les valeurs à l’aide de Or) pour l’obtenir.

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.

La recherche respecte name la casse. La recherche inclut des propriétés statiques et publiques instance.

Si le courant Type représente un type générique construit, cette méthode retourne le PropertyInfo avec les paramètres de type remplacés par les arguments de type appropriés.

Si le current Type représente un paramètre de type dans la définition d’un type générique ou d’une méthode générique, cette méthode recherche les propriétés de la contrainte de classe.

Voir aussi

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

GetProperty(String, Type[])

Source:
Type.cs
Source:
Type.cs
Source:
Type.cs

Recherche la propriété publique spécifiée dont les paramètres correspondent aux types d’arguments spécifiés.

C#
public System.Reflection.PropertyInfo? GetProperty (string name, Type[] types);
C#
public System.Reflection.PropertyInfo GetProperty (string name, Type[] types);

Paramètres

name
String

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

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 (c'est-à-dire Type[] types = new Type[0]) pour obtenir une propriété qui n'est pas indexée.

Retours

Objet représentant la propriété publique dont les paramètres correspondent aux types d'arguments spécifiés, si elle est trouvée ; sinon, null.

Implémente

Exceptions

Au moins deux propriétés portent le nom spécifié et correspondent aux types d’arguments spécifiés.

name a la valeur null.

-ou-

types a la valeur null.

types est multidimensionnel.

Un élément de types est null.

Exemples

L’exemple suivant récupère l’objet Type d’une classe définie par l’utilisateur, récupère la propriété de cette classe et affiche le nom de propriété et le type de la propriété comme spécifié par les arguments passés à GetProperty.

C#

using System;
using System.Reflection;

class MyClass3
{
    private readonly int[,] _myArray = { { 1, 2 }, { 3, 4 } };
    // Declare an indexer.
    public int this[int i, int j]
    {
        get
        {
            return _myArray[i, j];
        }
        set
        {
            _myArray[i, j] = value;
        }
    }
}

public class MyTypeClass3
{
    public static void Main(string[] args)
    {
        try
        {
            // Get the Type object.
            Type myType = typeof(MyClass3);
            Type[] myTypeArr = new Type[2];

            // Create an instance of a Type array.
            myTypeArr.SetValue(typeof(int), 0);
            myTypeArr.SetValue(typeof(int), 1);

            // Get the PropertyInfo object for the indexed property Item, which has two integer parameters.
            PropertyInfo myPropInfo = myType.GetProperty("Item", myTypeArr);

            // Display the property.
            Console.WriteLine("The {0} property exists in MyClass3.",
                myPropInfo.ToString());
        }
        catch (NullReferenceException e)
        {
            Console.WriteLine("An exception occurred.");
            Console.WriteLine("Source : {0}", e.Source);
            Console.WriteLine("Message : {0}", e.Message);
        }
    }
}

Remarques

Une propriété est considérée comme publique à réfléchir si elle a au moins un accesseur public. Sinon, la propriété est considérée comme privée et vous devez utiliser BindingFlags.NonPublic | | BindingFlags.InstanceBindingFlags.Static (en Visual Basic, combiner les valeurs à l’aide de Or) pour l’obtenir.

La recherche respecte name la casse. La recherche inclut des propriétés statiques et publiques instance.

Si le courant Type représente un type générique construit, cette méthode retourne le PropertyInfo avec les paramètres de type remplacés par les arguments de type appropriés.

Si le current Type représente un paramètre de type dans la définition d’un type générique ou d’une méthode générique, cette méthode recherche les propriétés de la contrainte de classe.

Voir aussi

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

GetProperty(String, Type, Type[])

Source:
Type.cs
Source:
Type.cs
Source:
Type.cs

Recherche la propriété publique spécifiée dont les paramètres correspondent aux types d’arguments spécifiés.

C#
public System.Reflection.PropertyInfo? GetProperty (string name, Type? returnType, Type[] types);
C#
public System.Reflection.PropertyInfo GetProperty (string name, Type returnType, Type[] types);

Paramètres

name
String

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

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 (c'est-à-dire Type[] types = new Type[0]) pour obtenir une propriété qui n'est pas indexée.

Retours

Objet représentant la propriété publique dont les paramètres correspondent aux types d'arguments spécifiés, si elle est trouvée ; sinon, null.

Implémente

Exceptions

Au moins deux propriétés portent le nom spécifié et correspondent aux types d’arguments spécifiés.

name a la valeur null.

-ou-

types a la valeur null.

types est multidimensionnel.

Un élément de types est null.

Remarques

Une propriété est considérée comme publique à réflexion si elle a au moins un accesseur public. Sinon, la propriété est considérée comme privée et vous devez utiliser BindingFlags.NonPublic | | BindingFlags.InstanceBindingFlags.Static (en Visual Basic, combiner les valeurs à l’aide Orde ) pour l’obtenir.

La recherche name respecte la casse. La recherche inclut des propriétés de instance publiques et statiques publiques.

Si le actuel Type représente un type générique construit, cette méthode retourne le PropertyInfo avec les paramètres de type remplacés par les arguments de type appropriés.

Si le actuel Type représente un paramètre de type dans la définition d’un type générique ou d’une méthode générique, cette méthode recherche les propriétés de la contrainte de classe.

Voir aussi

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

GetProperty(String, BindingFlags)

Source:
Type.cs
Source:
Type.cs
Source:
Type.cs

Recherche la propriété spécifiée, à l'aide des contraintes de liaison spécifiées.

C#
public System.Reflection.PropertyInfo? GetProperty (string name, System.Reflection.BindingFlags bindingAttr);
C#
public System.Reflection.PropertyInfo GetProperty (string name, System.Reflection.BindingFlags bindingAttr);

Paramètres

name
String

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

bindingAttr
BindingFlags

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

- ou -

Default pour retourner null.

Retours

Objet représentant la propriété qui correspond aux critères spécifiés, si elle est trouvée ; sinon, null.

Implémente

Exceptions

Au moins deux propriétés portent le nom spécifié et correspondent aux contraintes de liaison spécifiées.

name a la valeur null.

Exemples

L’exemple suivant récupère le type d’une classe définie par l’utilisateur, récupère une propriété de cette classe et affiche le nom de la propriété conformément aux contraintes de liaison spécifiées.

C#

using System;
using System.Reflection;

class MyClass2
{
    // Declare MyProperty.
    public int MyProperty { get; set; }
}

public class MyTypeClass2
{
    public static void Main(string[] args)
    {
        try
        {
            // Get Type object of MyClass2.
            Type myType = typeof(MyClass2);

            // Get the PropertyInfo by passing the property name and specifying the BindingFlags.
            PropertyInfo myPropInfo = myType.GetProperty(
                "MyProperty",
                BindingFlags.Public | BindingFlags.Instance
                );

            // Display Name property to console.
            Console.WriteLine("{0} is a property of MyClass2.", myPropInfo.Name);
        }
        catch (NullReferenceException e)
        {
            Console.WriteLine("MyProperty does not exist in MyClass2." + e.Message);
        }
    }
}

Voir aussi

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

GetProperty(String)

Source:
Type.cs
Source:
Type.cs
Source:
Type.cs

Recherche la propriété publique avec le nom spécifié.

C#
public System.Reflection.PropertyInfo? GetProperty (string name);
C#
public System.Reflection.PropertyInfo GetProperty (string name);

Paramètres

name
String

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

Retours

Objet représentant la propriété publique avec le nom spécifié, si elle est trouvée ; sinon, null.

Implémente

Exceptions

Plus d’une propriété a été trouvée avec le nom spécifié.

name a la valeur null.

Exemples

L’exemple suivant récupère l’objet Type d’une classe définie par l’utilisateur, récupère une propriété de cette classe et affiche le nom de la propriété.

C#
using System;
using System.Reflection;

class MyClass1
{
    // Declare MyProperty.
    public int MyProperty { get; set; }
}

public class MyTypeClass1
{
    public static void Main(string[] args)
    {
        try
        {
            // Get the Type object corresponding to MyClass1.
            Type myType = typeof(MyClass1);

            // Get the PropertyInfo object by passing the property name.
            PropertyInfo myPropInfo = myType.GetProperty("MyProperty");

            // Display the property name.
            Console.WriteLine("The {0} property exists in MyClass1.", myPropInfo.Name);
        }
        catch (NullReferenceException e)
        {
            Console.WriteLine("The property does not exist in MyClass1." + e.Message);
        }
    }
}

Remarques

Pour plus d’informations sur cette API, consultez Remarques supplémentaires sur l’API pour Type.GetProperty.

Voir aussi

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

GetProperty(String, Type)

Source:
Type.cs
Source:
Type.cs
Source:
Type.cs

Recherche la propriété publique à l'aide du nom et du type de retour spécifiés.

C#
public System.Reflection.PropertyInfo? GetProperty (string name, Type? returnType);
C#
public System.Reflection.PropertyInfo GetProperty (string name, Type returnType);

Paramètres

name
String

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

returnType
Type

Type de retour de la propriété.

Retours

Objet représentant la propriété publique avec le nom spécifié, si elle est trouvée ; sinon, null.

Implémente

Exceptions

Plus d’une propriété a été trouvée avec le nom spécifié.

name est null, ou returnType est null.

Exemples

L’exemple suivant définit une classe avec une propriété et récupère le nom et le type de la propriété.

C#

using System;
using System.Reflection;

class MyPropertyTypeClass
{
    public string MyProperty1 { get; set; } = "Hello World.";
}

class TestClass
{
    static void Main()
    {
        try
        {
            Type myType = typeof(MyPropertyTypeClass);

            // Get the PropertyInfo object representing MyProperty1.
            PropertyInfo myStringProperties1 = myType.GetProperty("MyProperty1", typeof(string));

            Console.WriteLine("The name of the first property of MyPropertyTypeClass is {0}.",
                myStringProperties1.Name);
            Console.WriteLine("The type of the first property of MyPropertyTypeClass is {0}.",
                myStringProperties1.PropertyType);
        }
        catch (ArgumentNullException e)
        {
            Console.WriteLine("ArgumentNullException :" + e.Message);
        }
        catch (AmbiguousMatchException e)
        {
            Console.WriteLine("AmbiguousMatchException :" + e.Message);
        }
        catch (NullReferenceException e)
        {
            Console.WriteLine("Source : {0}", e.Source);
            Console.WriteLine("Message : {0}", e.Message);
        }
        //Output:
        //The name of the first property of MyPropertyTypeClass is MyProperty1.
        //The type of the first property of MyPropertyTypeClass is System.String.
    }
}

Remarques

Une propriété est considérée comme publique à réflexion si elle a au moins un accesseur public. Sinon, la propriété est considérée comme privée et vous devez utiliser BindingFlags.NonPublic | | BindingFlags.InstanceBindingFlags.Static (en Visual Basic, combiner les valeurs à l’aide Orde ) pour l’obtenir.

La recherche name respecte la casse. La recherche inclut des propriétés de instance publiques et statiques publiques.

Si le actuel Type représente un type générique construit, cette méthode retourne le PropertyInfo avec les paramètres de type remplacés par les arguments de type appropriés.

Si le actuel Type représente un paramètre de type dans la définition d’un type générique ou d’une méthode générique, cette méthode recherche les propriétés de la contrainte de classe.

Voir aussi

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1