Informations
Le sujet que vous avez demandé est indiqué ci-dessous. Toutefois, ce sujet ne figure pas dans la bibliothèque.

Type.IsGenericParameter, propriété

Mise à jour : novembre 2007

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; }
/** @property */
public boolean get_IsGenericParameter()

public function get IsGenericParameter () : boolean

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.

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

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

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

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

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 suivant utilise la propriété IsGenericParameter 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);
        }
    }
}


if (t.get_IsGenericType()) {
    // If this is a generic type, display the type arguments.
    Type typeArguments[] = t.GetGenericArguments();
    Console.WriteLine("\tList type arguments ({0}):",
        (Int32)typeArguments.get_Length());
    for (int iCtr = 0; iCtr < typeArguments.get_Length(); iCtr++) {
        Type tParam = typeArguments[iCtr];
        // If this is a type parameter, display its
        // position.

        if (tParam.get_IsGenericParameter()) {
            Console.WriteLine("\t\t{0}\t(unassigned - parameter "
                + "position {1})", tParam, 
                (Int32)tParam.get_GenericParameterPosition());
        }
        else {
            Console.WriteLine("\t\t{0}", tParam);
        }
    }
}


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile pour Smartphone, Windows Mobile pour Pocket PC, Xbox 360

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0, 2.0

.NET Compact Framework

Pris en charge dans : 3.5, 2.0

XNA Framework

Pris en charge dans : 2.0, 1.0

Ajouts de la communauté

Afficher:
© 2014 Microsoft