Type.IsGenericParameter Eigenschap

Definitie

Hiermee wordt een waarde opgehaald die aangeeft of de huidige Type een typeparameter vertegenwoordigt in de definitie van een algemeen type of methode.

public:
 abstract property bool IsGenericParameter { bool get(); };
public:
 virtual property bool IsGenericParameter { bool get(); };
public abstract bool IsGenericParameter { get; }
public virtual bool IsGenericParameter { get; }
member this.IsGenericParameter : bool
Public MustOverride ReadOnly Property IsGenericParameter As Boolean
Public Overridable ReadOnly Property IsGenericParameter As Boolean

Waarde van eigenschap

true als het Type object een typeparameter van een algemene typedefinitie of algemene methodedefinitie vertegenwoordigt; falseanders.

Voorbeelden

In het volgende voorbeeld wordt de IsGenericParameter eigenschap gebruikt om te testen op algemene typeparameters in een algemeen type.

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.IsGenericType then
    // If this is a generic type, display the type arguments.
    let typeArguments = t.GetGenericArguments()

    printfn $"\tList type arguments ({typeArguments.Length}):" 

    for tParam in typeArguments do
        // If this is a type parameter, display its position.
        if tParam.IsGenericParameter then
            printfn $"\t\t{tParam}\t(unassigned - parameter position {tParam.GenericParameterPosition})"
        else
            printfn $"\t\t{tParam}"
If t.IsGenericType Then
    ' If this is a generic type, display the type arguments.
    '
    Dim typeArguments As Type() = t.GetGenericArguments()
    
    Console.WriteLine(vbTab & "List type arguments (" _
        & typeArguments.Length & "):")
    
    For Each tParam As Type In typeArguments
        ' If this is a type parameter, display its position.
        '
        If tParam.IsGenericParameter Then
            Console.WriteLine(vbTab & vbTab & tParam.ToString() _
                & vbTab & "(unassigned - parameter position " _
                & tParam.GenericParameterPosition & ")")
        Else
            Console.WriteLine(vbTab & vbTab & tParam.ToString())
        End If
    Next tParam
End If

Opmerkingen

Type objecten die algemene typeparameters vertegenwoordigen, kunnen worden verkregen door de GetGenericArguments methode aan te roepen van een Type object dat een algemene typedefinitie vertegenwoordigt, of de GetGenericArguments methode van een MethodInfo object dat een algemene methodedefinitie vertegenwoordigt.

  • Voor een algemene type- of methodedefinitie retourneert true de IsGenericParameter eigenschap voor elk element van de resulterende matrix.

  • Voor een gesloten, samengesteld type of een gesloten methode retourneert false de IsGenericParameter eigenschap voor elk element van de matrix dat door de GetGenericArguments methode wordt geretourneerd.

  • Voor een geopend samengesteld type of een open methode zijn sommige elementen van de matrix mogelijk specifieke typen en andere kunnen typeparameters zijn. IsGenericParameter retourneert false voor de typen en true voor de typeparameters. Het codevoorbeeld voor de ContainsGenericParameters eigenschap demonstreert een algemene klasse met een combinatie van typen en typeparameters.

Zie de opmerkingen van de IsGenericType eigenschap voor een lijst met invariante voorwaarden voor termen die in generieke reflectie worden gebruikt.

Van toepassing op

Zie ook