سؤال

أرغب في الإخراج (برمجيا - 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() مثل جون أظهرت بالفعل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top