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