Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Type.GetGenericArguments méthode ()

 

Date de publication : novembre 2016

Retourne un tableau d'objets Type qui représentent les arguments de type d'un type générique fermé 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 du tableau sont retournés dans l’ordre dans lequel elles apparaissent dans la liste d’arguments de type pour le type générique.

  • Si le type actuel est un type construit fermé (autrement dit, le ContainsGenericParameters propriété renvoie false), le tableau retourné par la GetGenericArguments méthode contient les types qui ont été attribuées 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 (autrement dit, le ContainsGenericParameters propriété renvoie 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 placer des types ou méthodes génériques, le tableau contient les types et le type de paramètres. Utilisez le IsGenericParameter propriété pour les distinguer. Pour une démonstration de ce scénario, consultez l’exemple de code pour le ContainsGenericParameters propriété.

Pour obtenir la liste des conditions invariantes pour les termes utilisés dans la réflexion générique, consultez la IsGenericType la section Notes de la propriété.

Le code suivant exemple utilise le GetGenericArguments méthode 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 fait partie d’un exemple plus complet fourni pour le IsGenericTypeDefinition propriété. Consultez l’exemple plus complet pour l’exemple de sortie.

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
Disponible depuis 2.0
Bibliothèque de classes portable
Pris en charge dans : plateformes .NET portables
Silverlight
Disponible depuis 2.0
Silverlight pour Windows Phone
Disponible depuis 7.0
Retour au début
Afficher: