Type.IsGenericParameter Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
trueuntuk setiap elemen array yang dihasilkan.Untuk jenis atau metode yang dibangun tertutup, IsGenericParameter properti mengembalikan
falseuntuk 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
falsemengembalikan untuk jenis dantrueuntuk 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.