C #: قائمة جميع الفئات في التجميع
-
19-09-2019 - |
سؤال
أرغب في الإخراج (برمجيا - C #) قائمة بجميع الطبقات في تجميعي.
أي تلميحات أو رمز عينة كيفية القيام بذلك؟ انعكاس؟
المحلول
يستخدم Assembly.GetTypes
. وبعد علي سبيل المثال:
Assembly mscorlib = typeof(string).Assembly;
foreach (Type type in mscorlib.GetTypes())
{
Console.WriteLine(type.FullName);
}
نصائح أخرى
أود فقط أن أضيف إلى مثال جون. للحصول على مرجع إلى التجمع الخاص بك، يمكنك استخدام:
Assembly myAssembly = Assembly.GetExecutingAssembly();
System.Reflection
مساحة الاسم.
إذا كنت ترغب في فحص تجميع ليس لديك أي إشارة إليه، فيمكنك استخدام أي من هذه:
Assembly assembly = Assembly.ReflectionOnlyLoad(fullAssemblyName);
Assembly assembly = Assembly.ReflectionOnlyLoadFrom(fileName);
إذا كنت تنوي إرساء نوعك بمجرد العثور عليها:
Assembly assembly = Assembly.Load(fullAssemblyName);
Assembly assembly = Assembly.LoadFrom(fileName);
انظر وثائق الطبقة التجميع للمزيد من المعلومات.
بمجرد أن يكون لديك الإشارة إلى Assembly
كائن، يمكنك استخدام assembly.GetTypes()
مثل جون أظهرت بالفعل.
لا تنتمي إلى StackOverflow