Spec-Zone.ru › Dart 2

dart:core

Класс Expando<T extends Object>

Expando позволяет добавлять новые свойства объектам.

Не работает с числами, строками, логическими значениями, записями, null, указателями dart:ffi, структурами dart:ffi или объединениями dart:ffi.

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

Поскольку всегда можно создать новое число, идентичное существующему, свойство expando у числа никогда не могло бы быть освобождено. Чтобы избежать этого, к числам нельзя добавлять свойства expando. То же рассуждение применимо к строкам, логическим значениям и null, для которых также существуют литералы, вычисляемые в одинаковые значения при каждом повторении. Кроме того, к записям нельзя добавлять свойства expando, поскольку у записей нет чётко определённой постоянной идентичности.

Для остальных классов ограничений нет, даже для объектов, являющихся константами времени компиляции. Будьте осторожны, добавляя свойства expando к константам времени компиляции, поскольку они останутся в памяти навсегда.

Конструкторы

Expando([String? name])
Создаёт новый Expando. Необязательное имя используется только для отладки. Создание двух разных Expando с одинаковым именем приводит к созданию двух Expando, работающих с разными свойствами объектов, для которых они используются.

Свойства

hashCode → int
только для чтенияунаследовано
Хеш-код этого объекта.
name → String?
окончательное
Имя этого Expando, переданное конструктору.
runtimeType → Type
только для чтенияунаследовано
Представление типа объекта во время выполнения.

Методы

noSuchMethod(Invocation invocation) → dynamic
унаследовано
Вызывается при обращении к несуществующему методу или свойству.
toString() → String
переопределение
Переопределение метода toString класса Expando.

Операторы

operator ==(Object other) → bool
унаследовано
Оператор равенства.
operator [](Object object) → T?
Возвращает значение свойства этого Expando для указанного объекта.
operator []=(Object object, T? value) → void
Устанавливает значение свойства этого Expando для указанного объекта в value.

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-core/Expando-class.html

Spec-Zone.ru

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