Aracılığıyla paylaş


Type.IsGenericParameter Özellik

Tanım

Geçerlinin genel tür veya yöntem Type tanımında bir tür parametresini temsil edip ettiğini belirten bir değer alır.

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

Özellik Değeri

Boolean

true nesne genel Type tür tanımının veya genel yöntem tanımının tür parametresini temsil ediyorsa; aksi takdirde, false .

Örnekler

Aşağıdaki örnek, genel IsGenericParameter tür parametreleri için genel türde test etmek için özelliğini kullanır.

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

Açıklamalar

Type genel tür parametrelerini temsil eden nesneler, genel bir tür tanımını temsil eden bir nesnenin yöntemi veya genel bir yöntem tanımını temsil eden bir nesnenin yöntemi GetGenericArguments Type çağrılarak elde GetGenericArguments MethodInfo edilir.

  • Genel bir tür veya yöntem tanımı IsGenericParameter için, özelliği true sonuçta elde edilen dizinin her öğesi için döndürür.

  • Kapalı bir oluşturulmuş tür veya yöntem için IsGenericParameter özelliği, false yöntemi tarafından döndürülen dizinin her öğesi için GetGenericArguments döndürür.

  • Açık bir oluşturulmuş tür veya yöntem için, dizinin bazı öğeleri belirli türler, diğerleri ise tür parametreleri olabilir. IsGenericParameter , false türleri ve tür parametreleri için true döndürür. özelliğine ait kod ContainsGenericParameters örneği, türlerin ve tür parametrelerinin karışımıyla genel bir sınıfı gösterir.

Genel yansımada kullanılan terimler için sabit koşulların listesi için özellik IsGenericType açıklamalarını bakın.

Şunlara uygulanır

Ayrıca bkz.