Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês
Esta documentação foi arquivada e não está sendo atualizada.

Propriedade Type.IsGenericParameter

Obtém um valor indicando se o corrente Type representa um parâmetro de tipo na definição de um tipo genérico ou método.

Namespace:  System
Assembly:  mscorlib (em mscorlib.dll)

public virtual bool IsGenericParameter { get; }

Valor de propriedade

Tipo: System.Boolean
true Se a Type objeto representa um parâmetro de tipo de uma definição de tipo genérico ou método genérico definição; caso contrário, false.

Type objetos que representam os parâmetros de tipo genérico podem ser obtidos chamando o GetGenericArguments método de um Type objeto que representa uma definição de tipo genérico ou o GetGenericArguments método de um MethodInfo objeto que representa uma definição de método genérico.

  • Para obter uma genérica tipo ou método definição, a IsGenericParameter propriedade para retornar true para cada elemento da matriz resultante.

  • Para um fechado construído tipo ou método, o IsGenericParameter propriedade para retornar false para cada elemento da matriz retornada pela GetGenericArguments método.

  • Um tipo em aberto construído ou método, alguns elementos da matriz podem ser tipos específicos e outros podem ser parâmetros de tipo. IsGenericParameter Retorna false para os tipos e true para os parâmetros de tipo. O exemplo de código para o ContainsGenericParameters propriedade demonstra uma classe genérica com uma mistura de tipos e parâmetros de tipo.

Para obter uma lista das condições invariável para termos usados na reflexão genérico, consulte o IsGenericType propriedade comentários.

O exemplo a seguir utiliza o IsGenericParameter propriedade para testar os parâmetros de tipo genérico em um 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);
        }
    }
}


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 Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360

o.NET Framework e.NET Compact Framework não oferecem suporte a todas as versões de cada plataforma. Para obter uma lista de versões suportadas, consulte Requisitos de sistema do .NET framework.

.NET Framework

Compatível com: 3.5, 3.0, 2.0

.NET Compact Framework

Compatível com: 3.5, 2.0

XNA Framework

Compatível com: , 1.0
Mostrar: