(0) exportieren Drucken
Alle erweitern

MethodInfo.GetGenericArguments-Methode

Hinweis: Diese Methode ist neu in .NET Framework, Version 2.0.

Gibt ein Array von Type-Objekten zurück, die die Typargumente einer generischen Methode oder die Typparameter einer generischen Methodendefinition darstellen.

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

[ComVisibleAttribute(true)] 
public override Type[] GetGenericArguments ()
/** @attribute ComVisibleAttribute(true) */ 
public Type[] GetGenericArguments ()
ComVisibleAttribute(true) 
public override function GetGenericArguments () : Type[]

Rückgabewert

Ein Array von Type-Objekten, die die Typargumente einer generischen Methode oder die Typparameter einer generischen Methodendefinition darstellen. Gibt ein leeres Array zurück, wenn die aktuelle Methode keine generische Methode ist.

Die Arrayelemente werden in der Reihenfolge zurückgegeben, in der sie in der Liste der Typparameter der generischen Methode aufgeführt sind.

  • Wenn die aktuelle Methode eine geschlossen konstruierte Methode ist (d. h., 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 Methodendefinition zugewiesen wurden.

  • Wenn die aktuelle Methode eine generische Methodendefinition ist, enthält das Array die Typparameter.

  • Wenn die aktuelle Methode eine offen konstruierte Methode ist (d. h., die ContainsGenericParameters-Eigenschaft gibt true zurück), bei der einigen Typparametern spezifische Typen und anderen Typparametern Typparameter von einschließenden generischen Typen 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 spezifische Begriffe zu generischen Methoden finden Sie unter der IsGenericMethod-Eigenschaft. Eine Liste der unveränderlichen Bedingungen für andere Begriffe, die in generischer Reflektion verwendet werden, finden Sie unter der Type.IsGenericType-Eigenschaft.

Im folgenden Codebeispiel wird gezeigt, wie die Typargumente einer generischen Methode abgerufen und angezeigt werden.

Dieses Beispiel ist Teil eines umfangreicheren Beispiels für die MakeGenericMethod-Methode.

// If this is a generic method, display its type arguments.
//
if (mi.IsGenericMethod)
{
    Type[] typeArguments = mi.GetGenericArguments();

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

    foreach (Type tParam in typeArguments)
    {
        // IsGenericParameter is true only for generic type
        // parameters.
        //
        if (tParam.IsGenericParameter)
        {
            Console.WriteLine("\t\t{0}  parameter position {1}" +
                "\n\t\t   declaring method: {2}",
                tParam,
                tParam.GenericParameterPosition,
                tParam.DeclaringMethod);
        }
        else
        {
            Console.WriteLine("\t\t{0}", tParam);
        }
    }
}

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

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

.NET Framework

Unterstützt in: 2.0

.NET Compact Framework

Unterstützt in: 2.0
Anzeigen:
© 2014 Microsoft