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

Свойства

hashCode → int
только для чтения, унаследованное
Код хэша для этого объекта.
name → String?
final
Имя этого 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.18.5/dart-core/Expando-class.html

Spec-Zone.ru

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