Вы можете конвертировать класс в один из его подклассов (т. н. приведение типов), используя синтаксис NewReference := type_to_cast_to[Reference], где type_to_cast_to — это желаемый тип. Это выражение с неоднозначным результатом, потому что приведение типов не выполнится, если объект невозможно преобразовать в данный тип — например, если типы класса и подкласса отличаются.
В следующем примере показано, как преобразовать TaggedDevice, которое имеет тип creative_device_base, в тип customizable_light_device, чтобы можно было использовать его отдельные функции. Если устройство TaggedDevice не является устройством «Настраиваемое освещение», оно не будет вызывать TurnOn().
if (LightDevice := customizable_light_device[TaggedDevice]):
LightDevice.TurnOn()