Gunakan refleksi untuk menghitung jenis ruang nama
Refleksi membolehkan pembangun memeriksa pemasangan yang dimuatkan dan memanipulasi metadata. Dalam C#, anda boleh menanyakan maklumat tentang jenis yang ditakrifkan dalam ruang nama tertentu.
Dapatkan jenis ruang nama
Untuk mendapatkan semula semua kelas dalam ruang nama menggunakan refleksi, ikut langkah berikut:
Assembly.GetExecutingAssembly().GetTypes()
untuk mengulangi jenis yang dimuatkan dalam pemasangan pelaksana. ToList()
. Kod sampel
Berikut ialah coretan kod contoh yang menggambarkan pendekatan ini:
<code class="language-csharp">string nspace = "..."; var q = from t in Assembly.GetExecutingAssembly().GetTypes() where t.IsClass && t.Namespace == nspace select t; q.ToList().ForEach(t => Console.WriteLine(t.Name));</code>
Kod ini akan mencetak nama semua kelas yang ditakrifkan dalam ruang nama yang ditentukan dalam pemasangan semasa. Ambil perhatian bahawa kaedah ini hanya mempertimbangkan pemasangan pelaksana, jadi jika ruang nama anda tersebar di beberapa perhimpunan, anda perlu menghitung semua perhimpunan yang dimuatkan untuk mendapatkan senarai lengkap jenis.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Dapatkan Semua Kelas Dalam Ruang Nama Tertentu Menggunakan C# Reflection?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!