Gunakan refleksi C# untuk mendapatkan jenis ruang nama
Bagaimana untuk menggunakan refleksi dalam C# untuk mendapatkan semua kelas yang terkandung dalam ruang nama tertentu?
Penyelesaian:
Reflection menyediakan mekanisme untuk mengakses metadata tentang jenis, kaedah dan sifat dalam program. Untuk mendapatkan semua kelas ditakrifkan dalam ruang nama tertentu, ikut langkah berikut:
Dapatkan rujukan pemasangan:
Jenis pemasangan pertanyaan:
var q = from t in Assembly.GetExecutingAssembly().GetTypes() where t.IsClass && t.Namespace == nspace select t;
Nama kelas penghitungan:
q.ToList().ForEach(t => Console.WriteLine(t.Name));
Coretan kod ini menganggap ruang nama ditakrifkan dalam pemasangan semasa. Jika kelas tersebar merentasi berbilang himpunan, anda mesti mendapatkan senarai semua himpunan dahulu dan kemudian melelang melaluinya untuk mendapatkan semula jenis daripada setiap ruang nama.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Semua Kelas dalam Ruang Nama Tertentu Menggunakan C# Reflection?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!