Spec-Zone.ru › Haxe

Тип

без пакета

Доступно на всех платформах

API Haxe Reflection позволяет получить информацию о типе во время выполнения.

Этот класс дополняет более лёгкий класс Reflect, с фокусом на экземпляры классов и перечислений.

См. также:

  • https://haxe.org/manual/types.html
  • https://haxe.org/manual/std-reflection.html

Статические методы

staticallEnums<T>(e:Enum<T>):Array<T>

Возвращает список всех конструкторов перечисления e, не требующих аргументов.

Может вернуть пустой массив [], если все конструкторы e требуют аргументы.

В противном случае возвращаются экземпляры e, созданные с помощью каждого из его конструкторов без аргументов, в порядке объявления конструктора.

Если e равно null, результат неопределён.

staticcreateEmptyInstance<T>(cl:Class<T>):T

Создаёт экземпляр класса cl.

Эта функция гарантирует, что конструктор класса не вызывается.

Если cl равно null, результат неопределён.

staticcreateEnum<T>(e:Enum<T>, constr:String, ?params:Array<Dynamic>):T

Создаёт экземпляр перечисления e, вызвав его конструктор constr с аргументами params.

Если e или constr равны null, или если у перечисления e нет конструктора с именем constr, или если количество элементов в params не соответствует ожидаемому количеству аргументов конструктора, или если какой-либо аргумент имеет неверный тип, результат неопределён.

staticcreateEnumIndex<T>(e:Enum<T>, index:Int, ?params:Array<Dynamic>):T

Создаёт экземпляр перечисления e, вызвав его конструктор с номером index с аргументами params.

Индексы конструкторов сохраняются из синтаксиса Haxe, поэтому первый объявленный имеет индекс 0, следующий — 1 и т. д.

Если e или constr равны null, или если у перечисления e нет конструктора с именем constr, или если количество элементов в params не соответствует ожидаемому количеству аргументов конструктора, или если какой-либо аргумент имеет неверный тип, результат неопределён.

staticcreateInstance<T>(cl:Class<T>, args:Array<Dynamic>):T

Создаёт экземпляр класса cl, используя args в качестве аргументов для конструктора класса.

Эта функция гарантирует, что конструктор класса вызывается.

Значения по умолчанию аргументов конструктора не гарантируется, что будут учтены.

Если cl или args равны null, или если количество элементов в args не соответствует ожидаемому количеству аргументов конструктора, или если какой-либо аргумент имеет неверный тип, или если у cl нет собственного конструктора, результат неопределён.

В частности, значения по умолчанию аргументов конструктора не гарантируется, что будут учтены.

staticenumConstructor(e:EnumValue):String

Возвращает имя конструктора экземпляра перечисления e.

Результат String не содержит аргументов конструктора.

Если e равно null, результат неопределён.

staticenumEq<T>(a:T, b:T):Bool

Рекурсивно сравнивает два экземпляра перечисления a и b по значению.

В отличие от a == b, эта функция выполняет глубокую проверку равенства аргументов конструкторов, если они есть.

Если a или b равны null, результат неопределён.

staticenumIndex(e:EnumValue):Int

Возвращает индекс экземпляра перечисления e.

Это соответствует исходному синтаксическому положению e. Индекс первого объявленного конструктора равен 0, следующего — 1 и т. д.

Если e равно null, результат неопределён.

staticenumParameters(e:EnumValue):Array<Dynamic>

Возвращает список аргументов конструктора экземпляра перечисления e.

Если у e нет аргументов, результат — [].

В противном случае результатом являются значения, которые использовались в качестве аргументов для e, в порядке их объявления.

Если e равно null, результат неопределён.

staticgetClass<T>(o:T):Class<T>

Возвращает класс o , если o — экземпляр класса.

Если o равно null или имеет другой тип, возвращается null.

В общем случае информация о параметрах типа не может быть получена во время выполнения.

staticgetClassFields(c:Class<Dynamic>):Array<String>

Возвращает список статических полей класса c.

Это не включает статические поля родительских классов.

Порядок полей в возвращаемом массиве не определён.

Если c равно null, результат неопределён.

staticgetClassName(c:Class<Dynamic>):String

Возвращает имя класса c, включая его путь.

Если c находится в пакете, структура пакета возвращается через точку, с другой точкой, разделяющей имя класса: pack1.pack2.(...).packN.ClassName Если c является подтипом Haxe-модуля, этот модуль не является частью структуры пакета.

Если у c нет пакета, возвращается имя класса.

Если c равно null, результат неопределён.

Имя класса не включает параметры типа.

staticgetEnum(o:EnumValue):Enum<Dynamic>

Возвращает перечисление экземпляра перечисления o.

Экземпляр перечисления — результат использования конструктора перечисления. Дан enum Color { Red; }, getEnum(Red) возвращает Enum<Color>.

Если o равно null, возвращается null.

В общем случае информация о параметрах типа не может быть получена во время выполнения.

staticgetEnumConstructs(e:Enum<Dynamic>):Array<String>

Возвращает список имён всех конструкторов перечисления e.

Порядок имён конструкторов в возвращаемом массиве сохраняется из исходного синтаксиса.

Если e равно null, результат неопределён.

staticgetEnumName(e:Enum<Dynamic>):String

Возвращает имя перечисления e, включая его путь.

Если e находится в пакете, структура пакета возвращается через точку, с другой точкой, разделяющей имя перечисления: pack1.pack2.(...).packN.EnumName Если e является подтипом Haxe-модуля, этот модуль не является частью структуры пакета.

Если у e нет пакета, возвращается имя перечисления.

Если e равно null, результат неопределён.

Имя перечисления не включает параметры типа.

staticgetInstanceFields(c:Class<Dynamic>):Array<String>

Возвращает список полей экземпляра класса c, включая унаследованные поля.

Это включает только поля, известные на этапе компиляции. В частности, использование getInstanceFields(getClass(obj)) не будет включать любые поля, добавленные к obj во время выполнения.

Порядок полей в возвращаемом массиве не определён.

Если c равно null, результат неопределён.

staticgetSuperClass(c:Class<Dynamic>):Class<Dynamic>

Возвращает суперкласс класса c.

Если у c нет суперкласса, возвращается null.

Если c равно null, результат неопределён.

В общем случае информация о параметрах типа не может быть получена во время выполнения.

staticresolveClass(name:String):Class<Dynamic>

Разрешает класс по имени.

Если name — путь к существующему классу, возвращается этот класс.

В противном случае возвращается null.

Если name равно null или указывает на другой тип, результат неопределён.

Имя класса не должно включать параметры типа.

staticresolveEnum(name:String):Enum<Dynamic>

Разрешает перечисление по имени.

Если name — путь к существующему перечислению, возвращается это перечисление.

В противном случае возвращается null.

Если name равно null, результат неопределён.

Если name — путь к другому типу, возвращается null.

Имя перечисления не должно включать параметры типа.

statictypeof(v:Dynamic):ValueType

Возвращает тип значения v во время выполнения.

Результат соответствует типу v во время выполнения, который может меняться в зависимости от платформы. Предположения по этому поводу следует минимизировать, чтобы избежать неожиданностей.

© 2005–2020 Haxe Foundation
Licensed under a MIT license.
https://api.haxe.org/Type.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API