Класс Expando
Класс Expando позволяет добавлять новые свойства к объектам.
Не работает с числами, строками, булевыми значениями или null.
Объект Expando не сохраняет добавленное значение свойства после того, как объект становится недоступным.
Поскольку вы всегда можете создать новое число, идентичное существующему, это означает, что свойство expando для числа никогда не сможет быть освобождено. Чтобы избежать этого, свойства expando не могут быть добавлены к числам. То же самое относится к строкам, булевым значениям и null, которые также имеют литералы, оцениваемые как идентичные значения, когда они встречаются более одного раза.
Нет ограничений для других классов, даже для объектов, являющихся константами во время компиляции. Будьте осторожны при добавлении свойств expando к константам во время компиляции, поскольку они будут существовать вечно.
Конструкторы
- Expando([String name ])
-
Создаёт новый Expando. Необязательное имя используется только для отладки, и создание двух разных Expando с одинаковым именем создаёт два Expando, которые работают с различными свойствами объектов, к которым они применяются.
Свойства
- name → String final
-
Имя этого Expando, переданное в конструктор. Если в конструктор не было передано имя, имя равно
null. - hashCode → int read-only, inherited
-
Хеш-код этого объекта.
- runtimeType → Type read-only, inherited
-
Представление типа объекта во время выполнения.
Операторы
- operator [](
Object object) → T -
Получает значение свойства этого Expando для данного объекта. Если объект не был расширен, метод возвращает
null. - operator []=(
Object object, T value) → void -
Устанавливает значение свойства этого Expando для данного объекта. Свойства можно эффективно удалить, установив их значение в null.
- operator ==(
other) → bool inherited -
Оператор равенства.
Методы
- toString(
) → String -
Переопределённый метод toString для Expando.
- noSuchMethod(
Invocation invocation) → dynamic inherited -
Вызывается, когда обращаются к несуществующему методу или свойству.
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-core/Expando-class.html