Cette page vous a-t-elle été utile ?
Votre avis sur ce contenu est important. N'hésitez pas à nous faire part de vos commentaires.
Vous avez d'autres commentaires ?
1500 caractères restants
GetProperty, méthode (String)

Type.GetProperty, méthode (String)

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

Espace de noms : System
Assembly : mscorlib (dans mscorlib.dll)

public PropertyInfo GetProperty (
	string name
)
public final PropertyInfo GetProperty (
	String name
)
public final function GetProperty (
	name : String
) : PropertyInfo

Paramètres

name

String contenant le nom de la propriété publique à obtenir.

Valeur de retour

Objet PropertyInfo représentant la propriété publique avec le nom spécifié, si elle est trouvée ; sinon, référence Null (Nothing en Visual Basic).

Type d'exceptionCondition

AmbiguousMatchException

La recherche a trouvé plus d'une propriété présentant le nom spécifié.

ArgumentNullException

name a la valeur référence Null (Nothing en Visual Basic).

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

Si le type demandé est non public et si l'appelant ne possède pas de ReflectionPermission pour réfléchir les objets non publics en dehors de l'assembly en cours, cette méthode retourne alors référence Null (Nothing en Visual Basic).

Si le T:System.Type en cours représente un type générique construit, cette méthode retourne PropertyInfo où les paramètres de type sont remplacés par les arguments de type appropriés.

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

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


using System;
using System.Reflection;

class MyClass
{
    private int myProperty;
    // Declare MyProperty.
    public int MyProperty
    {
        get
        {
            return myProperty;
        }
        set
        {
            myProperty=value;
        }
    }
}
public class MyTypeClass
{
    public static void Main(string[] args)
    {
        try
        {
            // Get the Type object corresponding to MyClass.
            Type myType=typeof(MyClass);       
            // 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 MyClass.", myPropInfo.Name);
        }
        catch(NullReferenceException e)
        {
            Console.WriteLine("The property does not exist in MyClass." + e.Message);
        }
    }
}

import System.*;
import System.Reflection.*;

class MyClass 
{
    private int myProperty;
    // Declare MyProperty.
   
    /** @property 
     */
    public int get_MyProperty()
    {
        return myProperty ;
    }//MyProperty
    
    /** @property 
     */
    public void set_MyProperty (int value)
    {
        myProperty = value;
    }//MyProperty
} //MyClass

public class MyTypeClass{
   
    public static void main(String[] args)
    {
        try {
            // Get the Type object corresponding to MyClass.
            Type myType = MyClass .class.ToType();
            // 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 MyClass.",
                myPropInfo.get_Name());
        }
        catch (NullReferenceException e) {
            Console.WriteLine("The property does not exist in MyClass." 
                + e.get_Message());
        }
    } //main
} //MyTypeClass

En interne, il est fait référence à cette propriété par le nom "Item" dans les métadonnées. Toute tentative d'obtention de PropertyInfo à l'aide de la réflexion doit spécifier ce nom interne pour que la propriété PropertyInfo soit retournée correctement.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0, 1.1, 1.0

.NET Compact Framework

Prise en charge dans : 2.0, 1.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft