Получение типа экземпляра

У каждого из производных типов существует метод ПолучитьТип(), который возвращает значение типа Тип. Из этого следует, что у любого экземпляра можно вызвать метод ПолучитьТип(). Это хороший пример наследования контракта.

Для того чтобы получить список базовых типов конкретного типа, у экземпляра типа Тип используется свойство БазовыеТипы.

Отображение базовых типов выбранного

метод Скрипт()
    ПоказатьБазовыеТипы(Тип(Число))
    ПоказатьБазовыеТипы(Тип(Массив))
    ПоказатьБазовыеТипы(Тип(ПотокЗаписи))
    ПоказатьБазовыеТипы(Тип(Массив))
    ПоказатьБазовыеТипы(Тип(ИсключениеНедопустимыйАргумент))
;

метод ПоказатьБазовыеТипы(Параметр: Тип)
    Консоль.Записать("Базовые типы для типа " + Параметр)
    пер Результат: Множество<Тип> = СобратьПредков(Параметр)
    для Элемент из Результат
        Консоль.Записать(Элемент)
    ;
;

метод СобратьПредков(Значение: Тип, Предки: Множество<Тип> = {}): Множество<Тип>
    для БазовыйТип из Значение.БазовыеТипы
        Предки.Добавить(БазовыйТип)
        СобратьПредков(БазовыйТип, Предки)
    ;
    возврат Предки
;