Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Type.GetField méthode (String)

 

Date de publication : novembre 2016

Recherche le champ public portant le nom spécifié.

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

public FieldInfo GetField(
	string name
)

Paramètres

name
Type: System.String

Chaîne contenant le nom du champ de données à obtenir.

Valeur de retour

Type: System.Reflection.FieldInfo

Objet représentant le champ public avec le nom spécifié, s'il est trouvé ; sinon, null.

Exception Condition
ArgumentNullException

name a la valeur null.

NotSupportedException

Cet objet Type est un TypeBuilder dont la méthode CreateType n’a pas encore été appelée.

La recherche de name respecte la casse. La recherche inclut des champs d’instance publics de static et public.

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

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

L’exemple suivant obtient la Type de l’objet pour la classe spécifiée, qui obtient le FieldInfo objet pour le champ et affiche la valeur du champ.


using System;
using System.Reflection;

public class MyFieldClassA
{
    public string Field = "A Field";
}

public class MyFieldClassB
{
    private string field = "B Field";
    public string Field 
    {
        get
        {
            return field;
        }
        set
        {
            if (field!=value)
            {
                field=value;
            }
        }
    }
}

public class MyFieldInfoClass
{
    public static void Main()
    {
        MyFieldClassB myFieldObjectB = new MyFieldClassB();
        MyFieldClassA myFieldObjectA = new MyFieldClassA();

        Type myTypeA = typeof(MyFieldClassA);
        FieldInfo myFieldInfo = myTypeA.GetField("Field");

        Type myTypeB = typeof(MyFieldClassB);
        FieldInfo myFieldInfo1 = myTypeB.GetField("field", 
            BindingFlags.NonPublic | BindingFlags.Instance);

        Console.WriteLine("The value of the public field is: '{0}'", 
            myFieldInfo.GetValue(myFieldObjectA));
        Console.WriteLine("The value of the private field is: '{0}'", 
            myFieldInfo1.GetValue(myFieldObjectB));
    }
}

.NET Framework
Disponible depuis 1.1
Bibliothèque de classes portable
Pris en charge dans : plateformes .NET portables
Silverlight
Disponible depuis 2.0
Silverlight pour Windows Phone
Disponible depuis 7.0
Retour au début
Afficher: