Type.IsGenericParameter Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera wartość wskazującą, czy bieżący Type reprezentuje parametr typu w definicji typu ogólnego lub metody.
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
Wartość właściwości
true
Jeśli obiekt reprezentuje parametr typu definicji typu ogólnego lub definicji metody ogólnej; w przeciwnym razie Type false
.
Przykłady
W poniższym przykładzie użyto IsGenericParameter właściwości do przetestowania parametrów typu ogólnego w typie ogólnym.
if ( t->IsGenericType )
{
// If this is a generic type, display the type arguments.
//
array<Type^>^typeArguments = t->GetGenericArguments();
Console::WriteLine( L"\tList type arguments ({0}):",
typeArguments->Length );
System::Collections::IEnumerator^ myEnum =
typeArguments->GetEnumerator();
while ( myEnum->MoveNext() )
{
Type^ tParam = safe_cast<Type^>(myEnum->Current);
// If this is a type parameter, display its
// position.
//
if ( tParam->IsGenericParameter )
{
Console::WriteLine(
L"\t\t{0}\t(unassigned - parameter position {1})",
tParam, tParam->GenericParameterPosition );
}
else
{
Console::WriteLine( L"\t\t{0}", tParam );
}
}
}
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.
'
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
Uwagi
Type Obiekty reprezentujące parametry typu ogólnego można uzyskać, wywołując metodę obiektu reprezentującego definicję typu ogólnego lub metodę obiektu reprezentującą GetGenericArguments Type GetGenericArguments MethodInfo definicję metody ogólnej.
W przypadku ogólnego typu lub definicji metody właściwość IsGenericParameter zwraca wartość dla każdego elementu
true
wynikowej tablicy.W przypadku zamkniętego skonstruowanego typu lub metody właściwość zwraca dla każdego elementu tablicy IsGenericParameter
false
zwróconego przez GetGenericArguments metodę .W przypadku otwartego skonstruowanego typu lub metody niektóre elementy tablicy mogą być określonymi typami, a inne mogą być parametrami typu. IsGenericParameter Zwraca
false
wartość dla typów i dla parametrówtrue
typu. Przykładowy kod dla ContainsGenericParameters właściwości demonstruje ogólną klasę z mieszanym typem i parametrami typu.
Aby uzyskać listę niezmiennych warunków dla terminów używanych w ogólnym odbicia, zobacz IsGenericType uwagi dotyczące właściwości.