Bagikan melalui


Type.IsGenericParameter Properti

Definisi

Mendapatkan nilai yang menunjukkan apakah saat ini Type mewakili parameter jenis dalam definisi jenis atau metode generik.

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

Nilai Properti

true Type jika objek mewakili parameter jenis definisi jenis generik atau definisi metode generik; jika tidak, false.

Contoh

Contoh berikut menggunakan IsGenericParameter properti untuk menguji parameter jenis generik dalam jenis generik.

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

Keterangan

Type objek yang mewakili parameter jenis generik dapat diperoleh dengan memanggil GetGenericArguments metode Type objek yang mewakili definisi jenis generik, atau GetGenericArguments metode MethodInfo objek yang mewakili definisi metode generik.

  • Untuk jenis generik atau definisi metode, IsGenericParameter properti mengembalikan true untuk setiap elemen array yang dihasilkan.

  • Untuk jenis atau metode yang dibangun tertutup, IsGenericParameter properti mengembalikan false untuk setiap elemen array yang dikembalikan oleh GetGenericArguments metode .

  • Untuk jenis atau metode yang dibangun terbuka, beberapa elemen array mungkin jenis tertentu dan yang lain mungkin merupakan parameter jenis. IsGenericParameter false mengembalikan untuk jenis dan true untuk parameter jenis. Contoh kode untuk ContainsGenericParameters properti menunjukkan kelas generik dengan campuran parameter jenis dan jenis.

Untuk daftar ketentuan invarian untuk istilah yang digunakan dalam refleksi generik, lihat IsGenericType keterangan properti.

Berlaku untuk

Lihat juga