Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Type.GetField (String)

 

Data di pubblicazione: ottobre 2016

Cerca il campo pubblico con il nome specificato.

Spazio dei nomi:   System
Assembly:  mscorlib (in mscorlib.dll)

public FieldInfo GetField(
	string name
)

Parametri

name
Type: System.String

Stringa che contiene il nome del campo dati da ottenere.

Valore restituito

Type: System.Reflection.FieldInfo

Oggetto che rappresenta il campo pubblico con il nome specificato, se disponibile; in caso contrario, null.

Exception Condition
ArgumentNullException

name è null.

NotSupportedException

L'oggetto Type è un oggetto TypeBuilder il cui metodo CreateType non è stato ancora chiamato.

La ricerca di name tra maiuscole e minuscole. La ricerca include campi di istanza pubblici static e public.

Se l'oggetto corrente Type rappresenta un tipo generico costruito, questo metodo restituisce il FieldInfo con i parametri di tipo sostituiti dagli argomenti di tipo appropriato.

Se l'oggetto corrente Type rappresenta un parametro di tipo nella definizione di un tipo o metodo generico, questo metodo cerca i campi del vincolo di classe.

Nell'esempio seguente ottiene la Type dell'oggetto per la classe specificata, ottiene il FieldInfo oggetto per il campo e viene visualizzato il valore del campo.


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
Disponibile da 1.1
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Torna all'inizio
Mostra: