Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

Type.GetGenericArguments, méthode

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

Espace de noms :  System
Assembly :  mscorlib (dans mscorlib.dll)
public virtual Type[] GetGenericArguments()

Valeur de retour

Type : System.Type[]
Tableau d'objets Type qui représentent les arguments de type d'un type générique. Retourne un tableau vide si le type actuel n'est pas un type générique.
Exception Condition
NotSupportedException

La méthode appelée n'est pas prise en charge dans la classe de base. Les classes dérivées doivent fournir une implémentation.

Les éléments de tableau sont retournés dans l'ordre dans lequel ils apparaissent dans la liste des arguments de type pour le type générique.

  • Si le type actuel est un type construit fermé (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 type générique.

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

  • Si le type actuel est un type construit ouvert (en d'autres termes, si la propriété ContainsGenericParameters retourne la valeur true) dans lequel des types spécifiques n'ont pas été assignés à tous les paramètres de type et les paramètres de type de types ou de méthodes génériques englobants, 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 utilisés dans une réflexion générique, consultez les notes sur la propriété IsGenericType.

L'exemple de code suivant utilise la méthode GetGenericArguments pour afficher les arguments de type d'un type construit et les paramètres de type de sa définition de type générique.

Cet exemple de code est extrait d'un exemple plus développé fourni pour la propriété IsGenericTypeDefinition. Consultez l'exemple plus vaste pour la sortie de l'exemple.


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

Pris en charge dans : 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Pris en charge dans :

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Cela vous a-t-il été utile ?
(1500 caractères restants)
Contenu de la communauté Ajouter
Annotations FAQ