Как получить список всех потомков класса - C#
Формулировка задачи:
Добрый день. У меня есть некоторый абстрактный класс. ОТ него происходят куча других классов. Подскажите пожалуйста, как программно получить список всех потомков данного класса?
Решение задачи: «Как получить список всех потомков класса»
textual
Листинг программы
- using System;
- using System.Reflection;
- namespace DerivedTypes
- {
- public abstract class AbstractBaseClass
- {
- }
- public class DerivedType1 : AbstractBaseClass
- {
- }
- public class DerivedType2 : AbstractBaseClass
- {
- }
- class MainClass : AbstractBaseClass
- {
- public static void Main (string[] args)
- {
- Type abstractType = typeof(AbstractBaseClass);
- Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies ();
- for (int i = 0; i < assemblies.Length; i++)
- {
- Type[] types = assemblies [i].GetTypes ();
- for (int j = 0; j < types.Length; j++)
- {
- if (types [j].IsSubclassOf (abstractType))
- {
- Console.WriteLine (types [j].FullName);
- }
- }
- }
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д