Type.GetNestedType Metode
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 jenis tertentu yang disarangkan dalam .Type
Overload
| Nama | Deskripsi |
|---|---|
| GetNestedType(String, BindingFlags) |
Saat ditimpa di kelas turunan, cari jenis berlapis yang ditentukan, menggunakan batasan pengikatan yang ditentukan. |
| GetNestedType(String) |
Mencari jenis berlapis publik dengan nama yang ditentukan. |
GetNestedType(String, BindingFlags)
- Sumber:
- Type.cs
- Sumber:
- Type.cs
- Sumber:
- Type.cs
- Sumber:
- Type.cs
- Sumber:
- Type.cs
Saat ditimpa di kelas turunan, cari jenis berlapis yang ditentukan, menggunakan batasan pengikatan yang ditentukan.
public:
abstract Type ^ GetNestedType(System::String ^ name, System::Reflection::BindingFlags bindingAttr);
[System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicNestedTypes | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicNestedTypes)]
public abstract Type? GetNestedType(string name, System.Reflection.BindingFlags bindingAttr);
public abstract Type GetNestedType(string name, System.Reflection.BindingFlags bindingAttr);
public abstract Type? GetNestedType(string name, System.Reflection.BindingFlags bindingAttr);
[<System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicNestedTypes | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicNestedTypes)>]
abstract member GetNestedType : string * System.Reflection.BindingFlags -> Type
abstract member GetNestedType : string * System.Reflection.BindingFlags -> Type
Public MustOverride Function GetNestedType (name As String, bindingAttr As BindingFlags) As Type
Parameter
- name
- String
String yang berisi nama jenis berlapis yang akan didapatkan.
- bindingAttr
- BindingFlags
Kombinasi bitwise dari nilai enumerasi yang menentukan bagaimana pencarian dilakukan.
-atau-
Default untuk mengembalikan null.
Mengembalikan
Objek yang mewakili jenis berlapis yang cocok dengan persyaratan yang ditentukan, jika ditemukan; jika tidak, null.
Penerapan
- Atribut
Pengecualian
name adalah null.
Keterangan
Gunakan nama sederhana kelas berlapis untuk name. Jangan memenuhi syarat dengan nama kelas luar. Untuk kelas berlapis generik, gunakan nama mangled - yaitu, tambahkan aksen kuburan dan jumlah parameter generik. Misalnya, gunakan string "Inner'1" untuk mendapatkan kelas berlapis generik Inner<T> (Inner(Of T) di Visual Basic). Jangan sertakan sintaksis khusus bahasa untuk parameter jenis.
Bendera filter berikut BindingFlags dapat digunakan untuk menentukan jenis berlapis mana yang akan disertakan dalam pencarian:
Anda harus menentukan salah satu BindingFlags.Public atau BindingFlags.NonPublic untuk mendapatkan pengembalian.
Tentukan BindingFlags.Public untuk menyertakan jenis berlapis publik dalam pencarian.
Tentukan BindingFlags.NonPublic untuk menyertakan jenis berlapis non-publik (yaitu, privat, internal, dan jenis berlapis yang dilindungi) dalam pencarian.
Metode ini hanya mengembalikan jenis berlapis dari jenis saat ini. Ini tidak mencari kelas dasar dari jenis saat ini. Untuk menemukan jenis yang ditumpuk di kelas dasar, Anda harus memandu hierarki warisan, memanggil GetNestedType di setiap tingkat.
BindingFlags.Instance dan BindingFlags.Static diabaikan.
Memanggil metode ini hanya BindingFlags.Public dengan bendera atau hanya BindingFlags.NonPublic bendera yang akan mengembalikan jenis berlapis yang ditentukan dan tidak memerlukan bendera lain.
Lihat System.Reflection.BindingFlags untuk informasi lebih lanjut.
Jika saat ini Type mewakili parameter jenis dalam definisi jenis generik atau metode generik, metode ini mencari jenis berlapis dari batasan kelas.
Jika jenis berlapis umum, metode ini mengembalikan definisi jenis generiknya. Ini berlaku bahkan jika jenis generik yang merangkum adalah jenis konstruksi tertutup.
Nota
Jika Type saat ini mewakili jenis generik yang ditentukan dalam C#, Visual Basic, atau C++, jenis berlapisnya semuanya umum meskipun tidak memiliki parameter generiknya sendiri. Ini belum tentu benar dari jenis berlapis yang didefinisikan dalam rakitan dinamis atau dikompilasi dengan Ilasm.exe (Il Assembler).
Untuk informasi tentang jenis generik berlapis, dan tentang membangun jenis generik berlapis dari definisi jenis generiknya, lihat MakeGenericType.
Lihat juga
Berlaku untuk
GetNestedType(String)
- Sumber:
- Type.cs
- Sumber:
- Type.cs
- Sumber:
- Type.cs
- Sumber:
- Type.cs
- Sumber:
- Type.cs
Mencari jenis berlapis publik dengan nama yang ditentukan.
public:
Type ^ GetNestedType(System::String ^ name);
public:
virtual Type ^ GetNestedType(System::String ^ name);
[System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicNestedTypes)]
public Type? GetNestedType(string name);
public Type GetNestedType(string name);
public Type? GetNestedType(string name);
[<System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicNestedTypes)>]
member this.GetNestedType : string -> Type
member this.GetNestedType : string -> Type
abstract member GetNestedType : string -> Type
override this.GetNestedType : string -> Type
Public Function GetNestedType (name As String) As Type
Parameter
- name
- String
String yang berisi nama jenis berlapis yang akan didapatkan.
Mengembalikan
Objek yang mewakili jenis berlapis publik dengan nama yang ditentukan, jika ditemukan; jika tidak, null.
Penerapan
- Atribut
Pengecualian
name adalah null.
Keterangan
Pencarian name bersifat sensitif huruf besar/kecil.
Gunakan nama sederhana kelas berlapis untuk name. Jangan memenuhi syarat dengan nama kelas luar. Untuk kelas berlapis generik, gunakan nama mangled - yaitu, tambahkan aksen kuburan dan jumlah argumen generik. Misalnya, gunakan string "Inner'1" untuk mendapatkan kelas berlapis generik Inner<T> (Inner(Of T) di Visual Basic). Jangan sertakan sintaksis khusus bahasa untuk parameter jenis.
Tabel berikut menunjukkan anggota-anggota kelas dasar yang dikembalikan oleh metode-metode Get ketika mencerminkan tipe.
| Tipe Anggota | Static | Tidak Statis |
|---|---|---|
| Constructor | No | No |
| Ladang | No | Ya. Bidang selalu disembunyikan berdasarkan nama dan tanda tangan. |
| Event | Tidak berlaku | Aturan sistem jenis umum adalah bahwa pewarisan sama dengan metode yang mengimplementasikan properti . Pantulan memperlakukan properti sebagai hide-by-name-and-signature. Lihat catatan 2 di bawah ini. |
| Metode | No | Ya. Metode (baik virtual maupun non-virtual) dapat disembunyikan berdasarkan nama atau berdasarkan nama dan tanda tangan. |
| Tipe Berlapis | No | No |
| Harta benda | Tidak berlaku | Aturan sistem jenis umum adalah bahwa pewarisan sama dengan metode yang mengimplementasikan properti . Pantulan memperlakukan properti sebagai hide-by-name-and-signature. Lihat catatan 2 di bawah ini. |
Hide-by-name-and-signature mempertimbangkan semua komponen tanda tangan, termasuk modifikasi khusus, tipe pengembalian, tipe parameter, sentinel, dan konvensi pemanggilan yang tidak dikelola. Ini adalah perbandingan biner.
Untuk refleksi, sifat dan kejadian disembunyikan berdasarkan nama dan tanda tangan. Jika Anda memiliki properti dengan aksesor get dan set di kelas dasar, tetapi kelas turunan hanya memiliki aksesor get, properti kelas turunan menyembunyikan properti kelas dasar, dan Anda tidak akan dapat mengakses setter pada kelas dasar.
Atribut kustom bukan bagian dari sistem jenis umum.
Jika saat ini Type mewakili parameter jenis dalam definisi jenis generik atau metode generik, metode ini mencari jenis berlapis dari batasan kelas.
Jika jenis berlapis umum, metode ini mengembalikan definisi jenis generiknya. Ini berlaku bahkan jika jenis generik yang merangkum adalah jenis konstruksi tertutup.
Nota
Jika Type saat ini mewakili jenis generik yang ditentukan dalam C#, Visual Basic, atau C++, jenis berlapisnya semuanya umum meskipun tidak memiliki parameter generiknya sendiri. Ini belum tentu benar dari jenis berlapis yang didefinisikan dalam rakitan dinamis atau dikompilasi dengan Ilasm.exe (Il Assembler).
Untuk informasi tentang jenis generik berlapis, dan tentang membangun jenis generik berlapis dari definisi jenis generiknya, lihat MakeGenericType.