Type.IsGenericParameter Właściwość

Definicja

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

Boolean

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ów true 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.

Dotyczy

Zobacz też