Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Type.GetFields-Methode: ()

 

Veröffentlicht: Oktober 2016

Gibt sämtliche öffentlichen Felder des aktuellen Type zurück.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

public FieldInfo[] GetFields()

Rückgabewert

Type: System.Reflection.FieldInfo[]

Ein Array von FieldInfo-Objekten, die alle für den aktuellen Type definierten öffentlichen Felder darstellen.

- oder -

Ein leeres Array vom FieldInfo-Typ, wenn für den aktuellen Type keine öffentlichen Felder definiert sind.

Implementiert

_Type.GetFields()

Die GetFields Methode kehrt Felder in einer bestimmten Reihenfolge, z. B. alphabetische oder Reihenfolge der Deklaration. Code muss nicht abhängig von der Reihenfolge, in der Felder zurückgegeben werden, da, das variieren kann.

Die folgende Tabelle zeigt, welche Member einer Basisklasse von zurückgegeben werden die Get -Methode auf, wenn für einen Typ reflektieren.

Memberart

Statisch

Nicht statisch

Konstruktor

Nein

Nein

Feld

Nein

Ja. Ein Feld ist immer nach Name und Signatur ausblenden.

Ereignis

Nicht zutreffend

Das allgemeine Typsystem ist, dass die Vererbung ist identisch mit der Methoden, die die Eigenschaft implementieren. Die Reflektion behandelt Eigenschaften als nach Namen und Signatur ausblenden. Siehe Hinweis 2 weiter unten.

Methode

Nein

Ja. Eine Methode (virtuelle und nicht virtuelle) kann im Hintergrund nach Namen oder nach Name und Signatur ausblenden.

Geschachtelter Typ

Nein

Nein

Eigenschaft

Nicht zutreffend

Das allgemeine Typsystem ist, dass die Vererbung ist identisch mit der Methoden, die die Eigenschaft implementieren. Die Reflektion behandelt Eigenschaften als nach Namen und Signatur ausblenden. Siehe Hinweis 2 weiter unten.

  1. Nach Name und Signatur ausblenden berücksichtigt alle Teile der Signatur, benutzerdefinierte Modifizierer, einschließlich Typen, Parametertypen, Sentinels enthält und nicht verwaltete Aufrufkonventionen zurück. Dies ist ein binärer Vergleich.

  2. Für die Reflektion sind die Eigenschaften und Ereignisse nach Name und Signatur ausblenden. Wenn Sie eine Eigenschaft mit einer Get und Set-Accessor in der Basisklasse haben, aber die abgeleitete Klasse nur einen Get-Accessor hat, die Eigenschaft der abgeleiteten Klasse blendet die Basisklasse-Eigenschaft, und Sie sind nicht in der Lage, die Setter-Methode der Basisklasse zugreifen.

  3. Benutzerdefinierte Attribute sind nicht Teil des allgemeinen Typsystems.

Wenn die aktuelle Type einen konstruierten generischen Typ darstellt, gibt diese Methode die FieldInfo Objekte, wobei die Typparameter durch die entsprechenden Typargumente ersetzt.

Wenn die aktuelle Type stellt einen Typparameter in der Definition einer generischen Typ- oder Methodendefinition, diese Methode sucht die öffentlichen Felder der klasseneinschränkung.

Das folgende Beispiel veranschaulicht die Verwendung von der GetFields() Methode.

using System;
using System.Reflection;
using System.ComponentModel.Design;


class FieldInfo_IsSpecialName
{
    public static void Main()
    {     
        try
        {
            // Get the type handle of a specified class.
            Type myType = typeof(ViewTechnology);

            // Get the fields of the specified class.
            FieldInfo[] myField = myType.GetFields();

            Console.WriteLine("\nDisplaying fields that have SpecialName attributes:\n");
            for(int i = 0; i < myField.Length; i++)
            {
                // Determine whether or not each field is a special name.
                if(myField[i].IsSpecialName)
                {
                    Console.WriteLine("The field {0} has a SpecialName attribute.",
                        myField[i].Name);
                }
            }
        }
        catch(Exception e)
        {
            Console.WriteLine("Exception : {0} " , e.Message);
        }
    }
}

.NET Framework
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Zurück zum Anfang
Anzeigen: