Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mendapatkan Senarai Semua Kelas Dalam Perhimpunan C#?

Bagaimanakah Saya Boleh Mendapatkan Senarai Semua Kelas Dalam Perhimpunan C#?

Patricia Arquette
Patricia Arquetteasal
2025-01-01 00:53:10453semak imbas

How Can I Get a List of All Classes Within a C# Assembly?

Mendapatkan Senarai Kelas dalam Perhimpunan Menggunakan C#

Dalam C#, keupayaan untuk introspeksi dan mendapatkan semula metadata tentang perhimpunan membolehkan pembangun untuk mengakses maklumat tentang jenis yang terkandung di dalamnya. Satu tugas biasa ialah menyenaraikan semua kelas dalam perhimpunan untuk pelbagai tujuan seperti dokumentasi, analisis atau pemuatan dinamik.

Penyelesaian: Assembly.GetTypes

Sistem Ruang nama .Reflection menyediakan kaedah Assembly.GetTypes, yang mengembalikan tatasusunan objek Jenis yang mewakili semua jenis yang ditakrifkan dalam perhimpunan. Refleksi digunakan untuk introspeksi perhimpunan dan kandungannya.

Begini cara anda boleh menggunakan Assembly.GetTypes untuk menyenaraikan semua kelas dalam perhimpunan:

Assembly mscorlib = typeof(string).Assembly;
foreach (Type type in mscorlib.GetTypes())
{
    Console.WriteLine(type.FullName);
}

Dalam contoh ini, kami menggunakan Assembly. Kaedah GetTypes untuk mendapatkan tatasusunan jenis daripada perhimpunan mscorlib, yang mengandungi kelas teras .NET Framework. Dengan mengulangi jenis ini dan menyemak sifat TypeKind mereka, kami boleh menapis jenis bukan kelas dan memaparkan nama penuh jenis kelas.

Teknik ini boleh digunakan pada mana-mana perhimpunan untuk memeriksa dan mengakses maklumat secara pemrograman tentang kelas yang terkandung di dalamnya.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Senarai Semua Kelas Dalam Perhimpunan C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn