Пробе: Родительский абстрактный класс должен знать обо всех существующих дочерних классах.Родительский класс также должен иметь возможность перечислять все имена классов своих дочерних классов с помощью метода.
Контекст: В моей ситуации родительский класс используется для представления любого типа входных данныхдля веб-формы (такой как электронная почта, текст, логическое значение, целое число, изображение и т. д.).Дочерние классы представляют каждый конкретный тип данных.Итак, есть логический класс, класс Image, класс Integer и т. Д.
Я использую язык C #.
Как бы вы это сделали?
edit: Причина, по которой мне нужно знать дочерние классы, заключается в том, что мне нужно знать все доступные типы входных данных, чтобы их перечислить.Кроме того, мне нужно получить доступ к методам каждого типа данных (дочернего класса), чтобы получить его свойства.
Так, например, мне нужно получить экземпляр класса Image просто со строкой «Image», котораяхранится в базе данных.Если базовый класс знает всех своих дочерних элементов, я смогу попросить его указать мне дочерний элемент, представленный строкой «Image», и он вернет экземпляр класса Image.
Я думал о реализацииэто делается путем превращения каждого дочернего элемента в синглтон и добавления его в список дочерних элементов (на этапе создания), который будет частным полем базового класса DataType.