Тип
Стд::Тип<ValueType> Базовые типы: Объект, Представляемое Дочерние типы: ТипПеречисление |
Иерархия типа
graph BT;
Тип<ТипЗначения>-->Представляемое;
Представляемое-->Объект;
Характеристика значения, определяющая свойства, методы, поведение, которыми обладают значения данного типа.
Сравнение структурное.
Литералы
Синтаксис: Тип<ИмяТипа>
Свойства
БазовыеТипы
ТолькоЧтение БазовыеТипы: ЧитаемыйМассив<Тип> |
Типы, являющиеся базовыми для текущего.
Тип<Число>.БазовыеТипы // [Тип<Сравнимое<Число>>, Тип<Форматируемое>]
Тип<Сравнимое<Число>>.БазовыеТипы // [Тип<Объект>]
Тип<Форматируемое>.БазовыеТипы // [Тип<Представляемое>]
Тип<Представляемое>.БазовыеТипы // [Тип<Объект>]
Методы
ВСтроку
ВСтроку(): Строка
Переопределение: ВСтроку |
Возвращает полное имя типа (с пространством имен). Для стандартных типов - на английском языке. Пример: "Std::String"
.
МожетБытьПрисвоенВ
МожетБытьПрисвоенВ(Тип: ЧитаемаяКоллекция<Тип>|Тип): Булево
Проверяет, может ли значение текущего типа быть присвоено в переменную типа Тип
(или массива типов для составного типа).
Тип<Число>.МожетБытьПрисвоенВ(Тип<Форматируемое>) // Истина
Тип<Число>.МожетБытьПрисвоенВ(Тип<Строка>) // Ложь
Тип<Массив<Число>>.МожетБытьПрисвоенВ(Массив<Объект>) // Ложь
Тип<Массив<Число>>.МожетБытьПрисвоенВ(ЧитаемыйМассив<Объект>) // Истина
Тип<Массив<Число>>.МожетБытьПрисвоенВ(ЧитаемаяКоллекция<Объект>) // Истина
ПолучитьСвойства
ПолучитьСвойства(): ЧитаемоеМножество<ОтражениеСвойства>
Получить свойства типа данных в виде множества
ПолучитьСвойство
ПолучитьСвойство(Имя: Строка): ОтражениеСвойства
Получить свойство типа данных по имени.
Исключения
ИсключениеОтражения - не удалось найти свойство по имени
Представление
Представление(): Строка
Переопределение: Представление |
Возвращает краткое имя типа (без пространства имен). Пример: "Строка"
.
СоздатьЭкземпляр
СоздатьЭкземпляр(Аргументы: ЧитаемыйМассив<Объект?>): ТипЗначения
Перегрузка: СоздатьЭкземпляр(Аргументы: ЧитаемоеСоответствие<Строка, Объект?>): ТипЗначения |
Создает экземпляр типа. Передача аргументов в конструктор выполняется в позиционной форме, в порядке объявления.
Исключения
ИсключениеОтражения - не удалось найти подходящий конструктор по сигнатуре параметров
Примеры
метод ЗагрузитьИзJson(ИмяТипа: Строка, ДанныеВJson: ЧитаемоеСоответствие<Строка, Объект?>): Объект?
знч ТипОбъекта = НайтиТип(ИмяТипа)
знч Объект = ТипОбъекта.СоздатьЭкземпляр([]) как неизвестно
для СвойствоJson из ДанныеJson
Объект[СвойствоJson.Ключ] = СвойствоJson.Значение
;
возврат Объект
;
СоздатьЭкземпляр
СоздатьЭкземпляр(Аргументы: ЧитаемоеСоответствие<Строка, Объект?>): ТипЗначения
Перегрузка: СоздатьЭкземпляр(Аргументы: ЧитаемыйМассив<Объект?>): ТипЗначения |
Создает экземпляр типа. Передача аргументов в конструктор выполняется в именованной форме.
Исключения
ИсключениеОтражения - не удалось найти подходящий конструктор по сигнатуре параметров
Примеры
метод ЗагрузитьИзJson(ИмяТипа: Строка, ДанныеВJson: ЧитаемоеСоответствие<Строка, Объект?>): Объект?
знч ТипОбъекта = НайтиТип(ИмяТипа)
// Тут рассчитываем, что у типа есть конструктор с именами параметров, как в ключах соответствия
возврат ТипОбъекта.СоздатьЭкземпляр(ДанныеВJson)
;