Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Propiedad Type.IsGenericParameter

 

Publicado: octubre de 2016

Obtiene un valor que indica si el objeto Type actual representa un parámetro de tipo en la definición de un método o tipo genérico.

Espacio de nombres:   System
Ensamblado:  mscorlib (en mscorlib.dll)

public virtual bool IsGenericParameter { get; }

Valor de propiedad

Type: System.Boolean

true si el objeto Type representa un parámetro de tipo de una definición de tipo genérico o de una definición de método genérico; de lo contrario, false.

Typeobjetos que representan los parámetros de tipo genérico se pueden obtener mediante una llamada a la GetGenericArguments método de un Type objeto que representa una definición de tipo genérico, o la GetGenericArguments método de una MethodInfo objeto que representa una definición de método genérico.

  • Para un tipo genérico o la definición de método, el IsGenericParameter propiedad devuelve true para todos los elementos de la matriz resultante.

  • Para un tipo construido cerrado o un método, el IsGenericParameter propiedad devuelve false para todos los elementos de la matriz devuelta por la GetGenericArguments método.

  • Para un tipo construido abierto o un método, algunos elementos de la matriz podrían ser tipos específicos y otros podrían ser parámetros de tipo. IsGenericParameter Devuelve false para los tipos y true para los parámetros de tipo. El ejemplo de código para el ContainsGenericParameters propiedad muestra una clase genérica con una mezcla de tipos y parámetros de tipo.

Para obtener una lista de las condiciones invariables de términos que se usan en la reflexión genérica, vea la IsGenericType comentarios de la propiedad.

En el ejemplo siguiente se usa el IsGenericParameter propiedad que se va a probar para parámetros de tipo genérico en un tipo genérico.

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

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 2.0
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar: