Как получить список всех потомков класса - 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); } } } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д