Développer Réduire
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

Type.IsGenericParameter, propriété

Remarque : cette propriété est nouvelle dans le .NET Framework version 2.0.

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 la propriété

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 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
Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
© 2013 Microsoft. Tous droits réservés.