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.GetGenericArguments-Methode: ()

 

Veröffentlicht: Oktober 2016

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

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

public virtual Type[] GetGenericArguments()

Rückgabewert

Type: 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.

Exception Condition
NotSupportedException

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

Die Elemente des Arrays werden in der Reihenfolge zurückgegeben, in denen sie in der Liste der Typargumente für den generischen Typ angezeigt werden.

  • Wenn der aktuelle Typ ein geschlossener konstruierter Typ ist (d. h. die ContainsGenericParameters -Eigenschaft gibt false), das zurückgegebene Array die GetGenericArguments Methode enthält die Typen, die die generischen Typparameter der generischen Typdefinition zugewiesen wurden.

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

  • Wenn der aktuelle Typ ein offener Typ ist (d. h. die ContainsGenericParameters -Eigenschaft gibt true) in denen bestimmten Typen nicht für alle Typparameter und Typparameter von einschließenden generischen Typen oder Methoden zugewiesen wurden, enthält das Array sowohl Typen als auch Parameter. Verwenden der IsGenericParameter Eigenschaft, um Sie voneinander zu unterscheiden. Eine Veranschaulichung dieses Szenarios finden Sie im Codebeispiel für die ContainsGenericParameters Eigenschaft.

Eine Liste der invarianten Bedingungen Begriffe, die bei generischer Reflektion verwendet werden, finden Sie unter der IsGenericType Eigenschaft "Hinweise".

Im folgenden Codebeispiel wird die GetGenericArguments Methode, 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. Finden Sie im größeren Beispiel für die Ausgabe des Beispiels.

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
Verfügbar seit 2.0
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: