Type.IsGenericParameter Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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
truede IsGenericParameter eigenschap voor elk element van de resulterende matrix.Voor een gesloten, samengesteld type of een gesloten methode retourneert
falsede 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
falsevoor de typen entruevoor 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.