Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mendapatkan Semua Kelas dari Ruang Nama dalam C#?
Cara Mengambil Semua Kelas Dalam Ruang Nama dalam C#
Menyenaraikan semua kelas dalam ruang nama yang ditentukan boleh dicapai dalam C# melalui teknik yang memeriksa semua jenis dalam perhimpunan dan menapisnya berdasarkan ruang nama mereka. Berikut ialah pendekatan secara terperinci:
using System.Reflection; private Type[] GetTypesInNamespace(Assembly assembly, string nameSpace) { return assembly.GetTypes() .Where(t => String.Equals(t.Namespace, nameSpace, StringComparison.Ordinal)) .ToArray(); }
Penggunaan Contoh:
Type[] typelist = GetTypesInNamespace(Assembly.GetExecutingAssembly(), "MyNamespace"); for (int i = 0; i < typelist.Length; i++) { Console.WriteLine(typelist[i].Name); }
Sebelum .Net 2.0, di mana Assembly.GetExecutingAssembly() tidak tersedia, pendekatan alternatif yang melibatkan typeof() ialah diperlukan untuk mendapatkan pemasangan:
Assembly myAssembly = typeof(<Namespace>.<someClass>).GetTypeInfo().Assembly; Type[] typelist = GetTypesInNamespace(myAssembly, "<Namespace>"); for (int i = 0; i < typelist.Length; i++) { Console.WriteLine(typelist[i].Name); }
Dengan menggunakan ini teknik, pembangun boleh mendapatkan semula semua kelas yang berada dalam ruang nama tertentu dengan berkesan, membolehkan penghitungan kelas dinamik dalam aplikasi C#.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Semua Kelas dari Ruang Nama dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!