Много средств метапрограммирования.
А именно, можно получить ссылку на блок, который содержит эти классы, тогда легко доберитесь Type
из класса с его имени. См. блок. Метод GetType (Строка) .
Оттуда, можно инстанцировать класса с помощью Activator
или конструктор Type
самого. См. Активатор. Метод CreateInstance .
, Как только у Вас есть экземпляр, можно установить свойства путем нового использования эти Type
объект. См. Тип. Метод GetProperty и/или Тип. Метод GetField вперед PropertyInfo. Метод SetValue .
Вы можете использовать typeid ().
if (typeid(childObject) == typeid(ChildType)) {
}
Если это возвращает true, то вы знаете, что это дочерний класс.