(0) exportieren Drucken
Alle erweitern
Erweitern Minimieren
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Type.GetGenericArguments-Methode

Gibt ein Array von Type-Objekten zurück, die die Typargumente eines generischen Typs oder die Typargumente einer generischen Typdefinition darstellen.

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

public virtual Type[] GetGenericArguments()

Rückgabewert

Typ: System.Type[]
Ein Array von Type-Objekten, die die Typargumente eines generischen Typs darstellen. Gibt ein leeres Array zurück, wenn der aktuelle Typ kein generischer Typ ist.

AusnahmeBedingung
NotSupportedException

Die aufgerufene Methode wird in der Basisklasse nicht unterstützt. Abgeleitete Klassen müssen eine Implementation angeben.

Die Arrayelemente werden in der Reihenfolge zurückgegeben, in der sie sich in der Liste der Typargumente des generischen Typs befinden.

  • Wenn der aktuelle Typ ein geschlossen konstruierter Typ ist (das heißt, die ContainsGenericParameters-Eigenschaft gibt false zurück), enthält das von der GetGenericArguments-Methode zurückgegebene Array die Typen, die den generischen Typparametern der generischen Typdefinition zugewiesen wurden.

  • Wenn der aktuelle Typ eine generische Typdefinition ist, enthält das Array die Typparameter.

  • Wenn der aktuelle Typ ein offen konstruierter Typ ist (d. h., die ContainsGenericParameters-Eigenschaft gibt true zurück), bei dem allen Typparametern spezifische Typen und anderen Typparametern Typparameter von einschließenden generischen Typen oder Methoden zugewiesen wurden, enthält das Array sowohl Typen als auch Typparameter. Verwenden Sie die IsGenericParameter-Eigenschaft, um sie zu unterscheiden. Eine Veranschaulichung dieses Szenarios finden Sie im Codebeispiel für die ContainsGenericParameters-Eigenschaft.

Eine Liste der unveränderlichen Bedingungen für allgemeine Begriffe, die in generischer Reflektion verwendet werden, finden Sie in den Hinweisen zur IsGenericType-Eigenschaft.

Im folgenden Codebeispiel wird die GetGenericArguments-Methode verwendet, um die Typargumente eines konstruierten Typs und die Typparameter seiner generischen Typdefinition anzuzeigen.

Dieses Codebeispiel ist Teil eines umfangreicheren Beispiels für die IsGenericTypeDefinition-Eigenschaft. Eine Beispielausgabe finden Sie im größeren Beispiel.


if (t.IsGenericType)
{
    // If this is a generic type, display the type arguments.
    //
    Type[] typeArguments = t.GetGenericArguments();

    Console.WriteLine("\tList type arguments ({0}):", 
        typeArguments.Length);

    foreach (Type tParam in typeArguments)
    {
        // If this is a type parameter, display its
        // position.
        //
        if (tParam.IsGenericParameter)
        {
            Console.WriteLine("\t\t{0}\t(unassigned - parameter position {1})",
                tParam,
                tParam.GenericParameterPosition);
        }
        else
        {
            Console.WriteLine("\t\t{0}", tParam);
        }
    }
}


.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft