VB 2008. (Опыта в .Net мало)
Создаю связанное дерево (связи типа Родитель, Подчиненный, Следующий, Предыдущий).
Ветви - разных классов, производных от базового, реализующего связи.
Вопрос такого характера. Как лучше добавлять ветви в дерево, исключив необходимость (и возможность) создания экзепляров классов ветвей без привязки к дереву.
Вижу пока два пути.
Первый:
Объявлять Enum с номерами типов ветвей, фукнкцию добавления в базовом классе с параметром номера типа ветви. Соответственно создание экземпляра класса ветви нужного типа, выбираемого с помощью Select Case.
Но. Объявление нового класса ветви требует внесение дополнений в базовый класс, чего не хочется.
Второй:
Объявлять Shared функции, перегруженные в каждом производном классе, в них создание экземпляров нужного типа.
Опять же, объявление нового производного класса потребует объявления в нем новой функции.
Учитывая, что пишу урывками в свободное время, ошибки здесь гарантированы...
Теперь вопрос.
Возможно ли передать в функцию (которую я хочу только объявить в базовом классе) тип нужного класса ветви, и как в этой функции создать экземпляр объекта именно этого типа?