Cette documentation est archivée et n’est pas conservée.

MethodInfo.GetGenericArguments, méthode

Remarque : cette méthode est nouvelle dans le .NET Framework version 2.0.

Retourne un tableau d'objets Type qui représentent les arguments de type d'une méthode générique ou les paramètres de type d'une définition de méthode générique.

Espace de noms : System.Reflection
Assembly : mscorlib (dans mscorlib.dll)

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

Valeur de retour

Tableau d'objets Type qui représentent les arguments de type d'une méthode générique ou les paramètres de type d'une définition de méthode générique. Retourne un tableau vide si la méthode actuelle n'est pas une méthode générique.

Les éléments du tableau retourné s'affichent dans l'ordre dans lequel ils apparaissent dans la liste des paramètres de type pour la méthode générique.

  • Si la méthode actuelle est une méthode construite fermée (en d'autres termes, si la propriété ContainsGenericParameters retourne la valeur false), le tableau retourné par la méthode GetGenericArguments contient les types qui ont été assignés aux paramètres de type générique de la définition de méthode générique.

  • Si la méthode actuelle est une définition de méthode générique, le tableau contient les paramètres de type.

  • Si la méthode actuelle est une méthode construite ouverte (en d'autres termes, si la propriété ContainsGenericParameters retourne la valeur true) dans laquelle des types spécifiques ont été assignés à certains paramètres de type et des paramètres de type de types génériques englobants ont été affectés à d'autres paramètres de type, le tableau contient à la fois des types et des paramètres de type. Utilisez la propriété IsGenericParameter pour les distinguer. Pour une démonstration de ce scénario, consultez l'exemple de code pour la propriété ContainsGenericParameters.

Pour obtenir la liste des conditions invariables des termes spécifiques aux méthodes génériques, consultez la propriété IsGenericMethod. Pour obtenir la liste des conditions invariables des autres termes utilisés dans une réflexion générique, consultez la propriété Type.IsGenericType.

L'exemple de code suivant illustre comment obtenir les arguments de type d'une méthode générique et les afficher.

Cet exemple fait partie d'un exemple plus développé fourni pour la méthode MakeGenericMethod.

// 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 pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0

.NET Compact Framework

Prise en charge dans : 2.0
Afficher: