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.IsGenericParameter propriété

 

Date de publication : novembre 2016

Obtient une valeur indiquant si le Type actuel représente un paramètre de type d'une définition de type ou de méthode générique.

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

public virtual bool IsGenericParameter { get; }

Valeur de propriété

Type: System.Boolean

true si l'objet Type représente un paramètre de type d'une définition de type générique ou de méthode générique ; sinon, false.

Typeobjets qui représentent les paramètres de type générique peuvent être obtenus en appelant le GetGenericArguments méthode d’un Type objet qui représente une définition de type générique, ou la GetGenericArguments méthode d’un MethodInfo objet qui représente une définition de méthode générique.

  • Pour un type générique ou la définition de méthode, le IsGenericParameter propriété renvoie true pour chaque élément du tableau résultant.

  • Pour un type construit fermé ou une méthode, le IsGenericParameter propriété renvoie false pour chaque élément du tableau retourné par la GetGenericArguments (méthode).

  • Pour une méthode ou un type construit ouvert, certains éléments du tableau peuvent être des types spécifiques et d’autres peuvent être des paramètres de type. IsGenericParameter Retourne false pour les types et true pour les paramètres de type. L’exemple de code pour le ContainsGenericParameters propriété montre une classe générique avec un mélange de types et les paramètres de type.

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é.

L’exemple suivant utilise le IsGenericParameter propriété pour tester les paramètres de type générique dans un type générique.

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);
        }
    }
}

Plateforme Windows universelle
Disponible depuis 8
.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
Windows Phone
Disponible depuis 8.1
Retour au début
Afficher: